Sprawdzenie separatora na końcu linijki pliku tekstowego

Odpowiedz Nowy wątek
2011-08-06 21:59
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ę.

Pozostało 580 znaków

2011-08-06 22:30
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


Pozostało 580 znaków

2011-08-09 16:18
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.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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