哦,对不起.问题不在于讨论JDK和JRE.但我无法在标题中清楚地表达出来.所以我试着在这里解释一下.
我想知道两个文件夹之间的区别!
C:\Program Files\Java\jdk1.8.0_161\jre 和 C:\Program Files\Java\jre1.8.0_161
我是JAVA的新手.我在Windows 10中安装了JDK.当我安装jdk时,有两个步骤.双击后jdk-8u161-windows-x64.exe,两步如下:
第1步:安装jdk.(在C:\Program Files\Java\jdk1.8.0_161)
第2步:安装jre.(在C:\Program Files\Java\jre1.8.0_161)
但是当我打开jdk1.8.0_161文件夹时.我也可以找到一个jre文件夹.
谁能告诉我之间的差异C:\Program Files\Java\jdk1.8.0_161\jre和C:\Program Files\Java\jre1.8.0_161?
如果它们是相同的,为什么jre安装过程中会安装jdk?它们是重复的吗?
在其他世界,第2步是不必要的吗?
我想读取一个大数据,然后使用Qt将其写入一个新文件.
我试过读一个大文件.大文件只有一行.我用readAll()和测试readLine().
如果数据文件大约是600MB,我的代码可以运行,虽然它很慢.
如果数据文件大约是6GB,我的代码将失败.
你能给我一些建议吗?
更新
我的测试代码如下:
#include <QApplication>
#include <QFile>
#include <QTextStream>
#include <QTime>
#include <QDebug>
#define qcout qDebug()
void testFile07()
{
QFile inFile("../03_testFile/file/bigdata03.txt");
if (!inFile.open(QIODevice::ReadOnly | QIODevice::Text))
{
qcout << inFile.errorString();
return ;
}
QFile outFile("../bigdata-read-02.txt");
if (!outFile.open(QIODevice::WriteOnly | QIODevice::Truncate))
return;
QTime time1, time2;
time1 = QTime::currentTime();
while(!inFile.atEnd())
{
QByteArray arr = inFile.read(3*1024);
outFile.write(arr);
}
time2 = QTime::currentTime();
qcout << time1.msecsTo(time2);
}
void testFile08()
{
QFile inFile("../03_testFile/file/bigdata03.txt");
if (!inFile.open(QIODevice::ReadOnly | QIODevice::Text))
return;
QFile outFile("../bigdata-readall-02.txt"); …Run Code Online (Sandbox Code Playgroud)