Ler arquivo txt

30 respostas
J
Preciso ler um arquivo txt. Já dei uma olhada nos tópico e montei o seguinte código.
public class Principal {

	
	public static void main(String[] args) {
	
		File file = new File("c:\a1.txt");
				try {            
				  FileReader reader = new FileReader(file);
				  BufferedReader input = new BufferedReader(reader);
				  String linha;
				  while ((linha = input.readLine()) != null) {
				    System.out.println(linha);
				  }
				  input.close();
				} catch (IOException ioe) {
				   System.out.println(ioe);
				}

	}

}
Porém ao executar mostra o seguinte erro: java.io.FileNotFoundException: c:\a1.txt (O sistema não pode encontrar o arquivo especificado)

O arquivo está dentro do C
não sei porque não funciona
achei que tivesse esquecido de alguma coisa.

30 Respostas

G

existe esse arquivo na raiz?

TheKill
JulianaSouza:
Preciso ler um arquivo txt. Já dei uma olhada nos tópico e montei o seguinte código.
public class Principal {

	
	public static void main(String[] args) {
	
		File file = new File("c:\a1.txt");
				try {            
				  FileReader reader = new FileReader(file);
				  BufferedReader input = new BufferedReader(reader);
				  String linha;
				  while ((linha = input.readLine()) != null) {
				    System.out.println(linha);
				  }
				  input.close();
				} catch (IOException ioe) {
				   System.out.println(ioe);
				}

	}

}
Porém ao executar mostra o seguinte erro: java.io.FileNotFoundException: c:\a1.txt (O sistema não pode encontrar o arquivo especificado)

Existe o arquivo a1.txt no diretório C:\ ??????

Att. Jonas

criador

Este seu arquivo não esta neste diretório ou não existe, porque rodei este mesmo programa aqui em meu computador e achou o arquivo que especifiquei.

Obs.: Procure sempre pesquisar antes as suas dúvidas e, caso não encontre nada sobre sua dúvida, crie o tópico.
Há várias respostas para este problema no fórum, era só pesquisar. =|

Abraço!

J

Existe tá lá dentro do C
Isso que está muito estranho.
Achei que tivesse esquecido de alguma coisa

J

Existe
tá lá dentro do C
Foi isso que achei estranho. Achei que tivesse esquecido de alguma coisa.

TheKill

JulianaSouza:
Existe
tá lá dentro do C
Foi isso que achei estranho. Achei que tivesse esquecido de alguma coisa.

Ps.: Verifique o nome do arquivo !!! Renomeie para Teste.txt

e no java coloque String arquivo = “C:/Teste.txt”;

criador

Estranho. Rodei este código em meu computador e achou corretamente o arquivo que especifiquei.
Verifique se o nome do arquivo está realmente correto.

Ou então, troque o nome do arquivo e teste novamente.

Abraço!

J

Existe sim
Foi isso que achei estranho
achei que tivesse esquecido de alguma coisa

J

Existe sim
o arquivo ta lá no c

J

O arquivo está lá no C.

JavaKaiser

tenta inverter a barra da linha

File file = new File(“c:\a1.txt”);

para

File file = new File(“c://a1.txt”);

J
[quote=JulianaSouza]Preciso ler um arquivo txt. Já dei uma olhada nos tópico e montei o seguinte código.
public class Principal {

	
	public static void main(String[] args) {
	
		File file = new File("c:\a1.txt");
				try {            
				  FileReader reader = new FileReader(file);
				  BufferedReader input = new BufferedReader(reader);
				  String linha;
				  while ((linha = input.readLine()) != null) {
				    System.out.println(linha);
				  }
				  input.close();
				} catch (IOException ioe) {
				   System.out.println(ioe);
				}

	}

}
Porém ao executar mostra o seguinte erro: java.io.FileNotFoundException: c:\a1.txt (O sistema não pode encontrar o arquivo especificado)

O arquivo está dentro do C
não sei porque não funciona
achei que tivesse esquecido de alguma coisa.

J

Invertendo a barra também não funciona.

J

Mudando o nome do arquivo também não funciona

nel

Coloque o arquivo no mesmo diretório do seu projeto. Faça da seguinte forma:

try {			
			
  File file = new File(System.getProperty("user.dir")+"\a1.txt");				
 
  //arquivo para processo			
 FileInputStream stream = new FileInputStream(file);
 InputStreamReader streamReader = new InputStreamReader(stream);
 BufferedReader reader =  new BufferedReader(streamReader);	
  
 String guia;

 while(null != (guia = reader.readLine()))
    System.out.println(guia);
 
 stream.close();
 streamReader.close();
 reader.close();


 } catch (FileNotFoundException e) {
    e.printStackTrace();
  } catch (Exception e) {
   e.printStackTrace();

 //resto do seu código

Espero que isto a ajude. :)

TheKill

Olha mto estranho, nao tenho como verificar isso agora.
Confere seus imports, e novamente verifique o nome do arquivo texto.

JavaKaiser

que SO vc ta usando???

pq copiei e colei o codigo que vc escreveu…e tb funcionou… :shock:

J

Já tentei colocar o arquivo dentro do projeto também não funciona.Eu estou usando windows

G

na boa usa fileinputstream e seja feliz.
com scanner

nel

O que pode estar acontecendo é simples, seu arquivo não possui o formato .txt. Se tens certeza que o nome está correto com certeza é isso, vai ao notepad (bloco de notas) e crie um arquivo denominado teste.

Apenas assim, teste, talvez você tenha criado um arquivo e mandado salvar no seguinte formato: a1.txt e consequentemente ele ficou no seguinte formato: a1.txt.txt.

Pois se o código está correto, só pode ser o seu arquivo.

:slight_smile:

dayvison.lemos

Desculpa, mas aunica explicação é q o txt num ta no local informado
tenta mudar o local, tipo, cria uma pasta no c:, troca o nome do arquivo, por algum motivo o java num ta encontrando.

dayvison.lemos

O S.O. é windows??

eduardoromcy
package Eduardo;

import java.io.*;
import java.util.Random;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.io.IOException;


public class Main{
	public static void main (String[] args) throws IOException{

		//Lendo e imprimindo linhas de um arquivo-texto para a console:
        PrintWriter outputStream = null;
        BufferedReader inputStream = null;
try {
            inputStream =
                new BufferedReader(new FileReader("c:/eduardo.txt"));

		String linha;
		int linhasLidas = 0;
		while ((linha = inputStream.readLine())!= null ){
		System.out.println(linha);
             }
		}finally {
            if (inputStream != null) {
                inputStream.close();
            }
        }
	}
}

Funciona legal, tenta pegar esse meu código e testar em sua máquina.

Boa Sorte.

edysnipes

Boa noite! Cara tu não usa linux não né ? (Tinha que perguntar!)

Olha só o erro é simples o arquivo não existe no C !! O Java não mente!!! Verifique se o arquivo é mesmo um txt !!??

Abraço!

J
JulianaSouza:
Preciso ler um arquivo txt. Já dei uma olhada nos tópico e montei o seguinte código.
public class Principal {

	
	public static void main(String[] args) {
	
		File file = new File("c:\a1.txt");
				try {            
				  FileReader reader = new FileReader(file);
				  BufferedReader input = new BufferedReader(reader);
				  String linha;
				  while ((linha = input.readLine()) != null) {
				    System.out.println(linha);
				  }
				  input.close();
				} catch (IOException ioe) {
				   System.out.println(ioe);
				}

	}

}
Porém ao executar mostra o seguinte erro: java.io.FileNotFoundException: c:\a1.txt (O sistema não pode encontrar o arquivo especificado)

O arquivo está dentro do C
não sei porque não funciona
achei que tivesse esquecido de alguma coisa.

J

Resolvido!!!
Ao invés de duas barras invertidas coloquei só uma e funcionou

Agradeço a todos que me ajudaram.

Valeu!!!

edysnipes

Olá ! Jú você não está utilizando linux não né ?!

Olha só, o Java não mente ! O Arquivo realmente não deve estar lá no C ! Verifique se o arquivo é mesmo um TXT !?

Abraço!

eduardoromcy

Assim como estava no meu exemplo né, bem, abração e que bom que deu certo!

Boa sorte.

tgmarinho

dando um up aqui sem querer, mas é para aproveitar e fazer um gancho!

Como é o funcionamento das classes:
File
FileReader
BufferedReader

E outra, testei o código da Juliana e deu certo aqui!!
porém gostaria de enteder melhor o procedimento.
Gostaria de saber como faço para que o Java abra o arquivo sem ser no Console mas sim no próprio bloco de notas!

obrigado

snowblacksoul

simplesmente faça dessa forma!! pois o meu deu certo!!

*/
public class NewClass1 {

     public static void main(String[] args) {

        File file = new File("c:/RELATORIO_BATIMENTO_20101207_20101214.txt");
                try {
                  FileReader reader = new FileReader(file);
                  BufferedReader input = new BufferedReader(reader);
                  String linha;
                  while ((linha = input.readLine()) != null) {
                    System.out.println(linha);
                  }
                  input.close();
                } catch (IOException ioe) {
                   System.out.println(ioe);
                }  

    }

}
Criado 13 de outubro de 2009
Ultima resposta 8 de dez. de 2010
Respostas 30
Participantes 11