3 回答
TA贡献1804条经验 获得超7个赞
您遇到的问题是因为您要求 Eclipse 在内存中缓冲 1,000,000,000 x 11 或 12 个字符。即 > 20 GB,对于 Eclipse 进程堆来说显然太大了。
这种方法根本行不通,除非您在具有大量 RAM 的真正高端 PC 上运行 Eclipse。即便如此,我仍有疑问。例如,复制粘贴 100 亿个字符可能行不通。
你需要采取另一种方法;例如,让您的应用程序将数字直接写入输出文件。
TA贡献1776条经验 获得超12个赞
我刚刚写了这段代码,通过运行它,我得到了以下结果:
最终文件: 10GB+
开始时间: 周六 06 00:00:19 BRT 2018
完成时间: 周六 06 00:03:25 BRT 2018
try {
FileWriter writer = new FileWriter("count.txt");
System.out.println(new Date());
int number = 1000000000;
do {
writer.write(number + "\n");
} while (number++ < 2000000000);
System.out.println(new Date());
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
TA贡献1789条经验 获得超8个赞
最好从命令行运行类文件并重定向输出。假设您在“unixy”类型的环境中运行。
java Counter > output.txt # This will take lot of time.
添加回答
举报