parsowanie tekstu z pliku

parsowanie tekstu z pliku
H4
  • Rejestracja:około 9 lat
  • Ostatnio:ponad 3 lata
  • Postów:33
0

Witam. Chcę odczytać jedną linijkę z pliku a następnie sparsować ją z wykorzystaniem funkcji split(). Niestety nie wiem co robię źle, może ktoś podać przykład jak to powinno poprawnie wyglądać?

Kopiuj
try(BufferedReader in = new BufferedReader(new FileReader("plik.txt"))) 
        {
            String s = in.readLine();
            while(s!=null) 
            {
               // System.out.println(s);
                s = in.readLine();
                String[] pola = s.split(";");
                
            }
        } catch (IOException ex)    
        {
            ex.printStackTrace();
        }

Netbeams wywala błąd tutaj:

Kopiuj
String[] pola = s.split(";");
Haskell
  • Rejestracja:prawie 10 lat
  • Ostatnio:12 miesięcy
  • Postów:4700
0

Prawdopodobnie to się wywala, ponieważ readLine czyta pierwszą linijkę z pliku, a w pętli próbuje czytać kolejną której nie ma. Poza tym zastanów się jak ten kod ma działać, jeżeli ma kilka linii, przecież każda linia będzie nadpisywała tablicę pola... Prowizoryczna poprawka poniżej:

Kopiuj
       String text = "";
       try(BufferedReader in = new BufferedReader(new FileReader("plik.txt"))) {
            while((text = in.readLine()) != null && !text.isEmpty()) {
                String[] pola = s.split(";");
            }
        } catch (IOException ex) {
            ex.printStackTrace();
        }

Zaglądali do kufrów, zaglądali do waliz, nie zajrzeli do d**y - tam miałem socjalizm. Czesław Miłosz
edytowany 1x, ostatnio: Haskell

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.