Problema ao encontrar linha em branco no .txt [BufferedReader] [RESOLVIDO]

4 respostas
F

Senhores,

Estou com o seguinte problema:

Ao ler uma sequência de linhas, ao encotrar um linha (ou duas em branco) o meu programa da pau. Já tentei de várias formas sair desse problema. Entretanto, não consegui. Conto mais uma vez com a ajuda dos senhores.

String arquivo = request.getParameter("arquivo");
        BufferedReader in = new BufferedReader(new FileReader(arquivo));
        String linha;
       
        int flag = 0;//flag utilizado para saber se a turma existe
        //a partir daki estou lendo a linha
        while ((linha = in.readLine()) != null) {
           
            System.out.println(linha);
//gravando conteudo da linha
          
        }//while mais externo
        in.close();

linhas que estou lendo:

"297VIP"
"66 TRT"
"75 MANU"
"294 VIP"

"295VIP"


"292 VIP"

Só consigo ler até a linha “294 VIP”, a partir daí dá pau.
Alguma solução que eu ainda não consegui ver?
Obrigado

4 Respostas

vtdb11

Eu sugiro que elimine as linhas em branco.
Assim:

String arquivo = request.getParameter("arquivo");
         FileReader reader = new FileReader(new FileReader(arquivo));
         String linha;
        
         int flag = 0;//flag utilizado para saber se a turma existe
         StringBuffer txt = new StringBuffer();
         
         for (int i = reader.read; i &gt 0; i = reader.read())
             txt.append((char)i);
         //Elimina linhas em branco
         txt = new StringBuffer(txt.toString().replace("\n\n","\n"));

         //a partir daqui está lendo a linha
         BufferedReader string = new BufferedReader(new StringReader(txt.toString()));
         while ((linha = in.readLine()) != null) {
            
             System.out.println(linha);
             //gravando conteudo da linha
           
         }//while mais externo
         in.close();
F

Cara,

Valeu mas, não funcionou por aqui :frowning:

T

Pule as linhas em branco, oras!

while ((linha = in.readLine()) != null) {
              if (linha.trim().length() == 0) {
                  continue;
              }  
             System.out.println(linha);
 //gravando conteudo da linha
           
         }
F

rsrs…pow thingol, vlw…
tentei fazer de modo um pouco diferente e deu um bug!!!

Obrigado

Criado 1 de julho de 2007
Ultima resposta 3 de jul. de 2007
Respostas 4
Participantes 3