sto cercando di migliorare il file chooser per controllare se il file già esiste.
ho già usato il metodo exists() da altre parti, ma nn riesco a integrarlo qua:
ho fatto delle prove con un semplice joptionpane che doveva teoricamente comparire se il file c'era: il quel caso compariva la finestrella, sennò scriveva il file.codice:import javax.swing.*; import java.io.*; import javax.swing.filechooser.FileFilter; import javax.swing.filechooser.FileNameExtensionFilter; public class AreaFileChooser extends JFrame { public static void salva() { JFileChooser fc = new JFileChooser(); FileFilter csvFilter = new FileNameExtensionFilter("File CSV", "csv"); FileFilter txtFilter = new FileNameExtensionFilter("File TXT", "txt"); fc.addChoosableFileFilter(csvFilter); fc.addChoosableFileFilter(txtFilter); int returnVal = fc.showSaveDialog(fc); if (returnVal == JFileChooser.APPROVE_OPTION) { File f = fc.getSelectedFile(); FileFilter selectedFilter = fc.getFileFilter(); if (f.getName().indexOf('.') == -1) { if (selectedFilter == csvFilter) { f = new File(f.getPath() + ".csv"); } else if (selectedFilter == txtFilter) { f = new File(f.getPath() + ".txt"); } } try { FileWriter file = new FileWriter(f, true); PrintWriter out = new PrintWriter(file); if(f.exists()){ // mostra una finestra di scelta if (ho cliccato sul taso yes){ sovrascrivi file } else { chiudi la finestra e nn fare nulla } } catch (IOException e) { JOptionPane.showMessageDialog(fc, e, "ERRORE", JOptionPane.ERROR_MESSAGE); } } } }
invece compariva sempre la finestra.
inoltre:
-penso di nn dover usare un joption pane per una cosa del genere.
cosa mi consigliate?
un jdialog?
-in caso lo implemento in un altro file e poi lo richiamo qui, giusto?
-la teoria è giusta o sbaglio nell'utilizzo di exists()??

Rispondi quotando