【发布时间】:2021-01-22 00:41:49
【问题描述】:
我对“不要一次将文件全部读入内存”这一术语感到困惑。对于下面的代码,说我不是一次将文件全部读入内存,而是逐行读入内存是否正确?
File file = new File("C:\\Users\\Desktop\\test.txt");
BufferedReader br = new BufferedReader(new FileReader(file));
String st;
while ((st = br.readLine()) != null)
System.out.println(st);
}
}
【问题讨论】:
-
一次阅读或逐行阅读并不重要,重要的是是否强制运行时将所有内容保存在内存中。由于您正在逐行处理行,而不会将它们保留超过必要的时间,因此您并没有落入不鼓励的反模式。但请注意,建议是避免在内存中保留超过所需的内容,但如果您的任务需要将所有内容都保存在内存中,那么它就是这样......
标签: java bufferedreader bufferedinputstream