Sto tentando di aggiungere un'estensione al nome del file selezionato da un JFileChooser
anche se non riesco a farlo funzionare.Rinomina filePer non funziona
Questo è il codice:
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);
}
}
io non riesco a capire il motivo per cui questo non funziona. Ho anche provato a usare getPath() e getCanonicalPath() ma il risultato è lo stesso. Il file viene creato nella directory selezionata, sebbene senza un'estensione ".txt".
hai controllato il risultato da 'renameTo '? Dalla documentazione di Java?" Se questo metodo può spostare un file da un file system a un altro dipende dalla piattaforma. Il valore di ritorno dovrebbe sempre essere controllato per assicurarsi che l'operazione di rinomina abbia avuto successo. " – twain249
Sì, è sempre restituendo false. L'unica volta che ha funzionato è quando ho impostato manualmente il nuovo nome del file ma senza includere il percorso: "test.txt". Questo ha creato un txt contenente "test uno" ma non nella directory selezionata – Giannis
Sei sicuro che il target il file non esiste già? –