Mam duży plik (angielska baza danych artykułów z Wikipedii tylko jako pliki XML). Czytam jedną postać na raz, używając BufferedReader
. Pseudokod jest:Metoda gotowa BufferedReader w pętli while do określenia EOF?
file = BufferedReader...
while (file.ready())
character = file.read()
Czy to jest rzeczywiście poprawne? Czy też ready
po prostu zwróci false
, gdy czeka na HDD, aby zwrócić dane, a nie po osiągnięciu EOF
? Próbowałem użyć if (file.read() == -1)
, ale wydawało mi się, że wpadłem w nieskończoną pętlę, której dosłownie nie mogłem znaleźć.
Zastanawiam się, czy to czyta cały plik, ponieważ moje statystyki mówią, że 44 4 380 stron Wikipedii zostało przeczytanych, ale pomyślałem, że jest o wiele więcej artykułów.