Leitura de Arquivo

4 respostas
rafaengenharia

Pessoal, tenho uma aplicação que lê dados de um arquivo da seguinte forma:

BufferedReader reader = new BufferedReader(new FileReader("MeuArquivo.txt"));

Gerei um jar da aplicação e sempre coloco o MeuArquivo.txt no mesmo diretório do jar. Quando executo o jar no windows, tudo funciona normalmente, a aplicação lê o MeuArquivo.txt e executa as operações necessárias. O problema é que quando executo o jar no linux com o MeuArquivo.txt também na mesma pasta que o jar ele lança uma exceção na tela(java.io.FileNotFoundException) dizendo que não encontrou o MeuArquivo.txt.

Alguém sabe pq isso acontece ?

att,

4 Respostas

Linkel

Como deve saber, o linux possui um sistema de arquivos diferente do Ruindows…
Sendo assim, a melhor maneira de se manipular arquivos compartilhados com o SO é aliená-lo em seu Classpath…
Daí você cria um método que te retorna a URI e URL do arquivo disposto no Classpath, ficando assim, indiferente para o SO…
Um abraço!

jzf
getClass().getResource("MeuArquivo.txt")

acho que isso pode resolver…(?)

Luiz_Augusto_Prado

Olá!

Vc lembrou de dar permissão para ler o arquivo.txt ?

rafaengenharia

Foi a primeira coisa que verifiquei, o erro não tem a ver com permissão.
Resolvi fazendo

File meuFile = new File("MeuArquivo.txt");

e depois passando como parâmetro meuFile.getAbsolutPath();

Criado 28 de março de 2008
Ultima resposta 30 de mar. de 2008
Respostas 4
Participantes 4