if(e.getSource() == CmdGerar){
int res = Arquivo.showSaveDialog(this);
if(res == JFileChooser.APPROVE_OPTION){
File arq = Arquivo.getSelectedFile();
try{
escreveArquivo(TxtArquivo.getText(), arq.getPath());
} catch(IOException ioe){
JOptionPane.showMessageDialog(null, "Não foi possível salvar arquivo!");
}
}
}
Socorro por favor!
5 Respostas
Uai… Essa é fácil.
Voce pode salvar seu arquivo TXT de várias formas.
file = new File(path);
FileWriter fileWriter = new FileWriter(file,true);
PrintWriter printWriter = new PrintWriter(armazenador,true);
ai vc faz: printWriter.println(“Texto aqui”);
Vai escrevendo linha a linha.
Mas recomendo vc usar o RandomAccessFile.
É melhor e tem vááários métodos para escrever.
Detalhe:
a variável path vai ser o valor do JTextField que guarda o path do arquivo, concatenado com o nome do arquivo que o usuário escrever.
Se o arquivo não existir, ele será criado.
Complementando o que o colega disse:
Faça o seu JFileChooser permitir a seleção apenas de diretórios, assim:
fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
Depois, para criar o arquivo, pegue o endereço selecionado e concatene o nome do arquivo, assim:
String path = fileChooser.getSelectedFile().getPath();
path += "\nomeDoArquivo.extensao";
File file = new File(path);
Uma sugestão é exibir o JFileChooser de maneira “customizada”, trocando o botão salvar apenas por “Selecionar”, “Usar” ou o que achar mais conveniente, assim:
fileChooser.showDialog(parent, "Texto do botão ");
if(e.getSource() == CmdGerar){
String path = null;
File file = new File(path);
try {
FileWriter fileWriter = new FileWriter(file,true);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Writer armazenador = null;
PrintWriter printWriter = new PrintWriter(armazenador,true);
JFileChooser fileChooser = null;
fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
path = fileChooser.getSelectedFile().getPath();
path += "\nomeDoArquivo.extensao";
file = new File(path);
fileChooser.showDialog(CmdGerar, "Arquivo gerado com sucesso!");
}
Me ajudem por favor
bjokas
Mas que baita confusão hein guria?! :lol:
Porque você está atribuindo null às referências?!
Eu fui quase bonzinho contigo. Dá uma analisada no código abaixo. Falta só fazer a gravação no arquivo:
if(e.getSource() == CmdGerar){
JFileChooser fileChooser = new JFileChooser(); //Sugiro que o fileChooser não seja criado aqui, mas já esteja instanciado e configurado neste momento.
fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
if (fileChooser.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) {
String path = fileChooser.getSelectedFile().getPath();
path += "\nomeDoArquivo.extensao"; // Substitua conforme quiser
File file = new File(path);
// Faça a gravação do arquivo aqui, usando o objeto file
}
}
Imagino que funcione como você quer.