Sprawdzenie separatora na końcu linijki pliku tekstowego

0

Potrzebowałem napisać prosty licznik linii w pliku tekstowym.

Robiłem to na kilka sposobów, m.in. wykorzystując BufferReader.

while (br_program.readLine() != null) {
programLicznik++;
}

Problem polega na tym że jeżeli plik tekstowy ma ostatnią linijkę bez żadnej zawartości to funkcja readLine() zwraca null. Zależy mi na tym że w przypadku gdy taka linijka istnieje to żeby zinkrementowała mój licznik.

Sprawdzenie ostatniego znaku z linijki nie wchodzi w grę, bo funkcja readLine() nie zwraca żadnych separatorów na końcu linijki.
Za wszelkie pomysły jak można taki problem rozwiązać z góry dziękuję.

0

Ale przecież jeżeli ostatnia linijka nie ma żadnej zawartości to jej nie ma, po prostu nie istnieje.
Zawsze możesz czytać albo cały plik od razu, albo jakimiś partiami (metoda read) i zliczać ilość wystąpień line.separator

0

BufferedReader działa dobrze - wczytuje linie do napotkania eol albo eof. Upewnij się, czy na pewno wiesz, co chcesz zrobić. Znak końca linii to znak końca linii, nie początku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0