To tentando colocar o texto contido em um arquivo *.txt em um JTextArea, só que me aparece o seguinte erro [color=red]A sintaxe do nome do arquivo, pasta ou nome do volume está incorreta[/color], o engraçado é que esta tudo correto aparentemente, se eu copiar o path do arquivo e abrir pelo windows explorer vai numa boa…
segue o código, se alguem puder da uma força ai…
privateStringpath=newString(getClass().getResource("sobre/sobre.txt").toString());// o arquivo esta localizado na pasta bin/sobre/tfSobre.setText(carregarTxtSobre(path));privateStringcarregarTxtSobre(Stringfile){try{Filearquivo=newFile(file);BufferedReaderrd=newBufferedReader(newFileReader(file));StringBuffersb=newStringBuffer();Stringlinha;while((linha=rd.readLine())!=null){sb.append(linha);}rd.close();returnsb.toString();}catch(IOExceptione){returne.getMessage();}}
Então cara, já tentei sim, mas não funcionou também, passa uma NullPointerException, ou seja com o / antes da pasta ele nem ta encontrando a própria pasta!
Valeu pela ajuda…
mais algum palpite???
diego.sas
decomaxkatsu:
privateStringpath=newString(getClass().getResource("sobre/sobre.txt").toString());// o arquivo esta localizado na pasta bin/sobre///Tenta assimStringpath=newString(getClass().getResource("sobre.txt").getPath().toString());// o arquivo esta localizado na pasta bin/sobre/
Flw
Lembrando que o arquivo txt, necessita esta no mesmo diretório da sua classe java
decomaxkatsu
Mesma coisa brother… retornando o mesmo erro no catch [color=red]A sintaxe do nome do arquivo, pasta ou nome do volume está incorreta [/color]
diego.sas
Putz… o arquivo txt esta no mesmo pacote que sua classe java?
fernandopaiva
bem, o getClass vc usa para quando o .txt esta em um pacote se naum se o caminho direto
veja.
//caminho no SOFilef=newFile("/windows/system32/arquivo.txt");System.out.println(f.exists());//retorna true se existir o arquivo ou false se naum existir//caminho no packageFilef=newFile(getClass().getResource("/pacote/arquivo.txt").toUrl());System.out.println(f.exists());
Para ler use Scanner e jogue o resultado numa StringBuffer e printa ela como toString();
t+ e boa sorte
decomaxkatsu
diego.sas: Ta sim maninho, mas continua dando o erro.
fernandopaiva : Como respondi pro diego.sas, ta no mesmo pacote, eu utilizei a mesma lógica nesse mesmo sistema pra fazer leitura de icones, os icones estando numa pasta chamada “IMG”, e os txt em um chamada “sobre”.
Exemplo com a imagem
this.icone = new ImageIcon(getClass().getResource("img/inicial.jpeg"));
this.setIcon(icone);
diego.sas
Brother criei a mesma estrutura que vc ak.
Ocorre o mesmo erro devido.
// Como vc esta fazendo. É incluso file:/ antes do caminho do seu arquivo assim gerando o erro.Stringpath=newString(getClass().getResource("sobre.txt").toString());// Fiz assim e funfou... rs Inclui o .getPath antes do .toString... Assim ele pega o caminho corretoStringpath=newString(getClass().getResource("sobre.txt").getPath().toString());
decomaxkatsu
Vou testar e já posto…
Thank’s 8)
decomaxkatsu
Puts mano, fiz como você sugeriu e ainda não ta dando certo… agora a msg de erro é a seguinte [color=red]O sistema não pode encontrar o caminho especificado[/color].
Fiz da seguinte maneira:
private String path = new String(getClass().getResource("sobre.txt").getPath().toString());
decomaxkatsu
Mesma coisa Cara… :evil:
diego.sas
Cara então realmente não sei o que pode ser!
Criei um projeto ak, com a mesma estrutura que vc, e o engraçado é que aqui funciona.
diego.sas
Detalhe…
O arquivo txt, precisa estar na mesma estrutura de diretorio do seu projeto.
No meu caso…
C:\Desenvolvimento\workspace_pessoal\GUJ\bin\br\com\console\sobre\sobre.txt.
Vi que voce esta colocando direto no bin\sobre.
Da uma olhadinha nesta estrutura.
decomaxkatsu
Não não cara… ali quando coloquei o bin, era só pra ilustrar que tava na pasta do projeto, mas ta certo sim, eu criei uma subpasta na pasta do projeto chamada sobre, e nesta pasta coloquei o txt.
C:\Documents and Settings\anderson.souza\Meus documentos\Java\Campo Minado\bin\cc\marques\fzdev\Jogo\sobre