2017-10-16 23 views
-2

Je ne comprends pas pourquoi mon code saute la première ligne du fichier txt. Je suis confus parce que ce code fonctionnait très bien au début ... Voici le code:Java: Je ne comprends pas pourquoi le lecteur de texte commence à lire le texte de la deuxième ligne

InputStream input = event.getFile().getInputstream(); 
      BufferedReader br = new BufferedReader(new InputStreamReader(input)); 
      String red; 
      int brojac = 0; 
      String content = ""; 
      String billNumber = "840000000096362741"; 
      if(br.readLine() == null){ 
       throw new WrongFileException("Format fajla nije dobar!"); 
      } 
      while ((red = br.readLine()) != null) { 
       content = red; 
       treasuryStatHeader.setTshStatFileContent(content); 
       System.out.println(content.substring(0, 20)); 
       brojac++; 
       System.out.println(brojac + " BROJACCCCCCC"); 
       if (brojac == 1) { 
       . 
       . 
       . 
       } else {...} 
+0

Peut-on voir votre fichier texte? – user6248190

+0

vous appelez br.readLine() une fois avant tout en lui-même, qui ne va pas imprimer. –

+0

Fermez-vous InputStream? – El0din

Répondre

2

Ceci est dû à votre première if(br.readLine() == null){ Ce lieu où vous dites à votre lecteur de fichier à lire la première ligne et aller à la ligne suivante. Ce que vous pouvez faire est de déplacer la vérification nulle dans votre boucle while.

boolean firstLine = true; 
while (red = br.readLine()) { 
    if(firstline && red == null) { 
    throw new WrongFileException("Format fajla nije dobar!"); 
    } 
    firstLine = false; 
    if(null == red) { 
    continue; 
    } 
    content = red; 
    treasuryStatHeader.setTshStatFileContent(content); 
    // [...] 
} 
+0

Oui, c'était le problème. Je ne peux pas croire que je ne l'ai pas vu. Merci! – NikolaU