FileReader的BufferedReader使用了大量的RAM

时间:2016-09-13 07:23:32

标签: java bufferedreader filereader

我在非常大的文件(~100g)上使用BufferedReaderFileReader

以下是我正在使用的代码:

BufferedReader reader = new BufferedReader(new FileReader("file path"));
BufferedWriter writer = new BufferedWriter(new FileWriter("output file"));
String line;
while ((line = reader.readLine()) != null) {
    // check if i need this line, and if i need it, i print it
    writer.write(line);
    writer.newLine();
}
writer.close();
reader.close();

当我在开始时在我的文件上运行它时,它使用的内存很少,但使用的内存会慢慢增加(可以轻松使用超过50GB的RAM)。

为什么会这样?而且,我能以某种方式修复它吗?

1 个答案:

答案 0 :(得分:0)

我看到当我从命令行使用-Xmx参数在linux上运行java程序时,由于某种原因它使我的java程序需要很多RAM。

从我删除java -Xmx350g -jar MyJar.jar 参数时,java程序使用低内存。

这是我的老命令:

java -jar MyJar.jar

这是我的新命令:

Objects({})