Como verificar se um arquivo existe na hora de salvar com um JFileChooser ?
Quando salvo um arquivo com o mesmo nome no mesmo diretorio ele substitui o arquivo, quero exibir uma mensagem dizendo ’ o arquivo ja existe deseja substitui-lo ’ mas quero fazer isso somente se o arquivo ja existir.
Utilizei o método exists() dentro de um if mas não deu certo, alguem ja pasos por isso ?
if ( salvarArquivoEscolhido.exists() )
Obrigado pela ajuda.
ai pessoal pra ser mais especifico olhem o codigo abaixo
[code]
public void salvaArquivo(String lTel, String pausa, String telSD) {
JFileChooser salvandoArquivo = new JFileChooser();
int resultado = salvandoArquivo.showSaveDialog(null);
if ( resultado == JFileChooser.APPROVE_OPTION ) {
File salvarArquivoEscolhido = salvandoArquivo.getSelectedFile();
try {
PrintWriter pw = new PrintWriter(new FileWriter( salvarArquivoEscolhido ),true);
pw.println(lTel);
pw.println(pausa);
pw.println(telSD);
pw.close();
if ( salvarArquivoEscolhido.exists() != false ){
JOptionPane.showMessageDialog(null, " O arquivo podera ser salvo ");
} else {
JOptionPane.showMessageDialog(null, " Arquivo já existente ");
}
} catch (IOException erro){
JOptionPane.showMessageDialog(null, " O arquivo nao pode ser salvo. ");
}
}
} [/code]
nao sei fazer pra ele reconhecer se há algum arquivo com o mesmo nome no mesmo diretorio.
se alguem souber como fazer agradeço.
Cara, quando eu trabalho com JFileChooser eu faço:
File f = new File(diretorio selecionado pelo usuario);
String files[]=f.list();//ou é list ou é get list..não lembro ao certo!
Este array de String contem todos os arquivos e pastas do diretório.
Verifique se o name que o usuario esta tentando salvar já existe comparando as Strings…
igor_jua é obrigatório direcionar o arquivo para um lugar, o próprio JFileChooser num já é encarregado de fazer isso ?
como faço isso ?
como faço pra verificar se existe um arquivo que possivelmente já exista ?
Valew pela ajuda até agora.
Valew igor_jua, consegui
public void salvaArquivo(JTextComponent texto) throws IOException {
JFileChooser salvandoArquivo = new JFileChooser();
int resultado = salvandoArquivo.showSaveDialog(null);
FileFilter filefilter = new FileNameExtensionFilter("Arquivo txt",
".txt");
salvandoArquivo.addChoosableFileFilter(filefilter);
if (resultado == JFileChooser.APPROVE_OPTION) {
File salvarArquivoEscolhido = salvandoArquivo.getSelectedFile();
this.salvaArquivo = salvarArquivoEscolhido;
if (salvarArquivoEscolhido.exists() == true) {
int selecionaOpcao = JOptionPane.showConfirmDialog(null,
" O arquivo já existe, deseja sobrescreve-lo? ", null,
JOptionPane.OK_CANCEL_OPTION);
if (selecionaOpcao == JOptionPane.OK_OPTION) {
FileWriter filewriter = new FileWriter(salvaArquivo);
PrintWriter pw = new PrintWriter(filewriter);
pw.println(texto.getText());
pw.close();
}
} else {
FileWriter filewriter = new FileWriter(salvaArquivo);
PrintWriter pw = new PrintWriter(filewriter);
pw.println(texto.getText());
pw.close();
}
}
}