class LogReader {
public void readLogFile(String path){
BufferedReader br = new BufferedReader(new FileReader(path));
String currentLine=null;
while(currentLine=br.readLine()!=null){
System.out.println(currentLine);
}
}
}
想象一下,我有一个值得几百Megs的日志文件。上面的代码会将整个文件加载到内存中吗?如果是这样,缓冲的真正好处是什么?Will BufferedReader会将整个文件加载到内存中吗?
我正在读取文件I/O并且无法理解是否会在内存中装载上面一行(currentLine)的字节,或者整个文件进入内存,然后读取并分配每一行再次在内存中的变量。
请告诉我,如果不是这样,我可以避免将整个文件加载到内存中。
一个很好的问题,但它可以更好的措辞。 –