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);
}
}
}
Stellen Sie sich vor, ich habe eine Protokolldatei im Wert von mehreren 100 Megs. Wird der obige Code die gesamte Datei im Speicher laden? Wenn ja, was ist der wirkliche Vorteil der Pufferung hier?Wird BufferedReader die gesamte Datei in den Speicher laden?
Ich lese Datei I/O und nicht in der Lage zu verstehen, ob wir die Bytes im Wert einer Zeile (currentLine) oben im Speicher laden oder die gesamte Datei in den Speicher und dann wird jede Zeile gelesen und zugewiesen wird auf die Variable im Speicher erneut.
Bitte sagen Sie mir, wie ich vermeiden kann, die gesamte Datei im Speicher zu laden, wenn dies nicht der Fall ist.
Eine gute Frage, aber es kann besser formuliert werden. –