ola pessoal.
Gostaria de saber como faço para trabalhar com txt sem que para isso seja necessário inserir o caminho completo do arquivo. Sei que para isso é necessário que o arquivo esteja no mesmo diretório da classe, mas, se eu chamo o arquivo sem o caminho, o programa não consegue encontrá - lo.
Exemplo: Ao invés de chamar o txt assim:
File arquivo = new File(“texto.txt”);
Tenho que chama-lo assim:
File arquivo = new File(“c:\documents and settings…\texto.txt”); (coloquei reticencias pq o caminho é longo)
Tem ctz q o txt está no mesmo diretorio das classes???
Se estiver usando IDE tenha ctz q está no lugar certo
T
thingol
Bom, o Java não tem o conceito de diretório corrente (esse conceito não existe (ou não existia), por exemplo no Windows CE / Pocket PC, e em alguns outros sistemas operacionais).
Mas é possível fazer o seguinte: existe um construtor de File que aceita um outro File (ou uma String), que seria o diretório. Acho isso um pouco mais limpo, porque você sabe exatamente qual é o diretório onde você está gravando o seu arquivo. E de qualquer maneira ele aceita o nome “.” para eventual diretório corrente (mas o tal diretório depende de como foi iniciado o Java. Por isso tente não usar “.” porque na verdade você não sabe exatamente onde está o “.” sem usar File.getCanonicalFile().
//Digita-se o nome que se quer salvar… String salvando = JOptionPane.showInputDialog(null,"Salvar:\nO arquivo sera salvo com extensao ‘.txt’ "
,“SALVAR”,JOptionPane.PLAIN_MESSAGE);
try{//Cria-se um arquivo com o nome digitado.txt...FileWriterarquivo=newFileWriter(salvando.toUpperCase()+".txt");BufferedWriterescrever=newBufferedWriter(arquivo);//abre o arquivo criado...escrever.write(jta.getText());//pega o q foi digitado no objeto jta(JTextArea)... e salva no arquivo criadoescrever.close();//fecha o arquivo...}catch(IOExceptionio){}