Leitura arquivo txt

3 respostas
M

ola pessoal

estou lendo arquivo .txt e usei o seguinte codigo :

try {

stream = new FileInputStream(local);

InputStreamReader streamReader = new InputStreamReader(stream);

BufferedReader reader = new BufferedReader(streamReader);

while( (line=reader.readLine() ) != null ) {


System.out.println( line );


}

reader.close();

streamReader.close();

stream.close();

JOptionPane.showMessageDialog( null , "Rotina encerrada com sucesso" , "Operador" , JOptionPane.INFORMATION_MESSAGE );


} catch (FileNotFoundException e1) {

e1.printStackTrace();

JOptionPane.showMessageDialog(null , "Erro ! \n" + e1.getMessage() , "Operador" , JOptionPane.ERROR_MESSAGE);

} catch (IOException e2) {

e2.printStackTrace();

JOptionPane.showMessageDialog(null , "Erro ! \n" + e2.getMessage() , "Operador" , JOptionPane.ERROR_MESSAGE);

}

mas preciso fazer algumas coisas :

  • declarar uma variavel com um tamanho determinado de caracteres
  • que leia apenas a 1º linha do arquivo .txt , e se o valor lido, que vou repassar a variavel de tamanha determinado, que continue a leitura do arquivo, passando para a 2º linha em diante do arquivo, que tem varias linhas …

3 Respostas

P

não entendi bem o que você precisa, mas caso você queira que o arquivo continue lendo apenas quando
a linha for maior que determinado tamanho, faça assim:

while( (line=reader.readLine() ) != null ) {   
  
  if(line.length > tamanho)
         //execute a ação
  else
       break; //sai fora do laço
  
}
M

mas nao conheco esse “tamanho” da linha que voce falou
como o java sabe que o arquivo "pulou a linha"
como sei que ele encontrou o final da linha e vai pra linha de baixo ?

P

seguinte, cada vez que o laço passa por "line=reader.readLine() “, equivale a uma linha de seu arquivo, ou seja, o método “reader.readline()” lê uma linha por vez e cada vez que ele passar para o método ele automaticamente pula para a proxima linha até que a condição do laço seja falsa
”(line=reader.readLine() ) != null ", ou seja, o método vai retornar null quando terminar de ler o arquivo.

quando você joga a linha na String line “line=reader.readLine()”, você consegue pegar a quantidade de caracteres da linha usando o método “line.lenght”

exemplo:
se seu arquivo texto estiver as seguintes linhas

exemplo da linha 1
exemplo da linha 1111
exemplo da linha 1111111

na primeira vez que seu laço passar pela condição “(line=reader.readLine() ) != null” a variavel line vai conter o valor:

line = "exemplo da linha 1";

e o método length vai ter o valor 18
na segunda vez:

line = "exemplo da linha 1111";

e o método length vai ter o valor 21

assim por diante, depois de ler a terceira linha, quando o laço passar pela quarta vez na condição o valor de line será null e então a condição do laço é falsa e termina.

Criado 18 de dezembro de 2007
Ultima resposta 18 de dez. de 2007
Respostas 3
Participantes 2