Sprawdzenie separatora na końcu linijki pliku tekstowego

Sprawdzenie separatora na końcu linijki pliku tekstowego
BP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1
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ę.

byku_guzio
  • Rejestracja: dni
  • Ostatnio: dni
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

iooi
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 573
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.