Ich habe einen Doppelpunkt über Klasse BufferedReader. Das ist mein Test. Ich erstelle die einfache txt-Datei: "test.txt" mit 1024 Zeilen. Jede Zeile enthält die Zeilennummer und den Dateinamen (Beispiel: "1 - test.txt"):Java-Klasse BufferedReader Größe
Test-Dateierstellung:
$ for i in {0..1023}; do echo "$i - test.txt" >> test.txt; done
$ ls -la test.txt
-rw-r--r-- 1 osb osb 12288 Oct 26 12:01 test.txt
Die Java-Klasse für meinen Test (f eine Variable Datei ist Klasse):
...
while (f.exists())
{
BufferedReader br = null;
try
{
br = new BufferedReader(new FileReader(f), 10);
while ((line = br.readLine())!=null)
{
System.out.println (line);
Thread.sleep(1000);
}
}
...
catch excepion
...
finally
{
try
{
br.close();
}
catch (IOException e)
{
System.out.println ("\nError closing Buffer reader!");
e.printStackTrace();
}
br = null;
line = null;
}
}
...
Wenn die Anwendung die Zeilen ich diesen Unix-Befehl ausführen zu schreiben beginnt:
gzip test.txt
Ich erwarte eine Ausnahme, weil die Puffergröße sehr klein ist (10 Byte) weniger als un Zeilengröße, aber die Anwendung liest alle 1024 Zeilen und nur wenn sie das Ende der Datei erreicht, löst sie die Ausnahme aus (Datei existiert nicht!). Hat der BufferedReader eine Puffergröße von mehr als 10? Gibt es eine minimale Puffergröße?
Dank
Danke GhostCat für Ihre schnelle Antwort, ich verstehe das Szenario –