Boa noite
Aê galera to apanhando mo cara no codigo abaixo, nao sei como fazer para salvar um arquivo atraves do JFileChooser.
Como faço pra continuar a linha abaixo ?
Há alguma coisa errada ?
public void salvaArquivo() throws IOException {
JFileChooser salvandoArquivo = new JFileChooser();
File nomeDoArquivo = new File("teste.txt");
boolean criaArquivo = nomeDoArquivo.createNewFile();
int resultado = salvandoArquivo.showSaveDialog(null);
if (resultado == JFileChooser.APPROVE_OPTION) {
File salvarArquivoEscolhido = salvandoArquivo.getSelectedFile();
}
}
O FileChooser, como o nome da classe já diz, só permite que você escolha um arquivo. Ele abre a caixinha com cara de “salvar” ou “carregar”, mas sua tarefa se resume a apenas “escolher” (choose).
Para salvar o arquivo, use um PrintStream, ou qualquer outra das opções de salvamento do java.
Bom dia ViniGodoy
Como vc disse: “só permite que você escolha um arquivo” essa classe ja cria um arquivo automaticamente faltando somente escrever no arquivo ?
A classe PrintStream num só serve pra escrever no arquivo ?
1 curtida
Não, não cria absolutamente nada. Ela só deixa você escolher um arquivo, e ela te retorna um objeto do tipo File, que descreve um caminho no sistema de arquivos. O caminho poderá ser para um arquivo existente, no caso do open dialog, ou não, no caso do save dialog.
Você deve criar e escrever nesse arquivo usando outras classes, como a PrintWriter.
Ou acessar e ler esse arquivo, com classes como a BufferedReader.
Entao o arquivo ja deve estar criado e escrito.
fiz certo no codigo lá em cima ?
Bom, criar aquele “teste.txt” foi um tanto inútil.
Eu também geralmente prefiro testar o contrário, para evitar indentação e para ficar claro que o método não faz nada caso a escolha não seja APPROVE_OPTION.
[code]public void salvaArquivo() throws IOException {
JFileChooser salvandoArquivo = new JFileChooser();
int resultado = salvandoArquivo.showSaveDialog(this);
if (resultado != JFileChooser.APPROVE_OPTION) {
return;
}
File salvarArquivoEscolhido = salvandoArquivo.getSelectedFile();
}[/code]
Onde jogo o arquivo escrito naquele codigo acima ?
Não sei, o que exatamente você quer salvar?
Então, agora você gera o arquivo .txt usando o salvarArquivoEscolhido
PrintWriter pw = new PrintWriter(new FileWriter(salvarArquivoEscolhido));
pw.println("Isso será gravado no arquivo!");
pw.close();
bom dia ViniGodoy
Cara, deu certo, mas normalmente qdo é salvo um arquivo com nome existente ele pede pra substituir o arquivo.
Tenho que usar metodo pra isso ?
qual ?
valew pela força até agora
É só testar.
if (salvarArquivoEscolhido.exists() && JOptionPane.showConfirmDialog(this, "O arquivo já existe? Deseja sobrescreve-lo?") != JOptionPane.OK_OPTION)) {
return;
}
então cara, n funcionou.
mesmo clicando ok, cancelar e até mesmo se houver algum arquivo com mesmo nome ele salva.
o q pode ser ?
nao encotrei nada lá,
continuo com o mesmo problema, quando clico ok, cancelar ele gera o arquivo e salva, isso acontece até mesmo se houver algum arquivo com mesmo nome.
alguem ja passo por isso ?
utilizei o metodo exists() dentro do if
salvarArquivoEscolhido.exists() parece que ele nao ta conseguindo verificar se um arquivo com determinado nome ja existe.
Alguem pode dar uma força
Ninguem nunca passo por isso ?
ae galera, pra quem tiver com a mesma dificuldade:
[quote]
Eu gostaria de saber como salva uma imagem pelo JFileChooser
[/code]
mas tem que ser uma imagem
1 curtida