Estoy tratando de agregar una extensión al nombre del archivo seleccionado por JFileChooser
aunque no puedo hacerlo funcionar.El archivo renameTo no funciona
Este es el código:
final JFileChooser fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int returnVal = fc.showSaveDialog(null);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File f = fc.getSelectedFile();
String name =f.getAbsoluteFile()+".txt";
f.renameTo(new File(name));
FileWriter fstream;
try {
fstream = new FileWriter(f);
BufferedWriter out = new BufferedWriter(fstream);
out.write("test one");
out.close();
} catch (IOException ex) {
Logger.getLogger(AppCore.class.getName()).log(Level.SEVERE, null, ex);
}
}
No puedo entender por qué esto no funciona. También intenté usar getPath() y getCanonicalPath(), pero el resultado es el mismo. El archivo se crea en el directorio seleccionado, aunque sin una extensión ".txt".
has comprobado el resultado de 'renameTo '? Esto es de la documentación de Java" Si este método puede mover un archivo de un sistema de archivos a otro depende de la plataforma. El valor de retorno siempre debe verificarse para asegurarse de que la operación de cambio de nombre fue exitosa. " – twain249
Sí, siempre es return false. La única vez que funcionó fue cuando establecí el nuevo nombre de archivo manualmente pero sin incluir la ruta: "test.txt". Eso creó un txt que contenía "prueba uno" pero no en el directorio seleccionado – Giannis
¿Estás seguro de que el objetivo archivo no existe ya? –