1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Erro ao ler arquivo txt

Bom dia,

Eu tenho que ler um arquivo txt e extrair algumas linhas dele conforme condições. Mas o problema é que ele não pega algumas linhas.

Segue meu codigo

package teste;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;

public class LeituraTexto {

    public static void main(String[] args) throws Exception {
        boolean imprime = false;

            System.out.println("Entrou!");


            BufferedReader x = new BufferedReader(new InputStreamReader(new FileInputStream("c:/base/DOE-07-04-2015_4.txt"), "UTF-8"));

            String linha = x.readLine();                

            while(linha != null) {
                    String Tipo = linha;
                    System.out.println("#### " + Tipo);
                    boolean assunto = linha.matches("^Assunto:.*");
                    boolean expediente = linha.matches("^Expe.*");
                    boolean nome = linha.matches("^Nome:.*");
                    boolean id = linha.matches("^Id*");
                    boolean tipo = linha.matches("^Tipo.*");
                    boolean cargo = linha.matches("^Cargo.*");
                    boolean lotacao = linha.matches("Lota.*");
                    boolean codigo = linha.matches("Codigo:.*");
                    if (assunto == true || expediente == true || nome == true || id == true || tipo == true || cargo == true ) {
                        System.out.println("P1 " + linha);
                         linha = x.readLine();     
                    }
                    if (lotacao == true ) {
                        System.out.println("P2 " + linha);
                         imprime = true;
                           linha = x.readLine();

                    }
                    if (imprime == true && lotacao == false) {
                        System.out.println("P3 " + linha);
                           linha = x.readLine();   
                    }
                    if (codigo == true ) {
                        System.out.println("P4 "+ linha);
                        imprime = false;
                           linha = x.readLine();



                    } else {
                            linha = x.readLine();
                        }

                }  

        x.close();
    }

}

A saída do arquivo. Note que onde tem #### é para saber se ele está pegando todas as linhas.

 Entrou!
#### Secretaria da Educação
#### Secretaria da Educação
#### Secretário da Educação: CARLOS EDUARDO VIEIRA DA CUNHA
#### End: Av. Borges de Medeiros, 1501 - Plataforma
#### Porto Alegre/RS - 90119-900
#### Gabinete do Secretário
#### RECURSOS HUMANOS
#### Assunto: Admissão
P1 Assunto: Admissão
#### Nome: XXXXXXXXXXXXXXXXXX
P1 Nome: XXXXXXXXXXXXXXXXXX
#### Cargo/Função: Professor
P1 Cargo/Função: Professor
#### ADMITE, em caráter emergencial, para exercer a função de professor no Ensino Médio/Educação
#### Profissional, Disciplina Eletricidade, RT 20 horas, município São Leopoldo, em conformidade com a
#### Lei 11126/98, arts. 18 e 19, Lei 11339/99 e na forma do Decreto 45754/08.
#### Codigo: 1460721
P4 Codigo: 1460721

E o texto original.

Secretaria da Educação
Secretaria da Educação
Secretário da Educação: CARLOS EDUARDO VIEIRA DA CUNHA
End: Av. Borges de Medeiros, 1501 - Plataforma
Porto Alegre/RS - 90119-900
Gabinete do Secretário
RECURSOS HUMANOS
Assunto: Admissão
Expediente: XXXXXXXXXXXXXXXXXX
Nome: XXXXXXXXXXXXXXXXXX
RG: 99999999999 UF: RS
Cargo/Função: Professor
Lotação: Secretaria da Educação - 02ª CRE
ADMITE, em caráter emergencial, para exercer a função de professor no Ensino Médio/Educação
Profissional, Disciplina Eletricidade, RT 20 horas, município São Leopoldo, em conformidade com a
Lei 11126/98, arts. 18 e 19, Lei 11339/99 e na forma do Decreto 45754/08.
Codigo: 1460721

Ele não pegou as seguintes linhas

Expediente: XXXXXXXXXXXXXXXXXX
RG: 999999999999 UF: RS
Lotação: Secretaria da Educação - 02ª CRE

Alguém sabe o que pode ser?

Agradeço qualquer ajuda.

Abraços, Alex dos Santos

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags java arquivos ou faça a sua própria pergunta.