Individuare, leggere e scrivere file in java Individuare i file ● ● ● La classe JFileChooser permette di navigare tra le varie cartelle e dischi a disposizione, offrendo un'interfaccia potente e molto articolata. L'aspetto della classe JFileChooser dipende dal sistema operativo in uso Ogni istanza si “ricorda” l'ultima cartella utilizzata javax.swing.JFileChooser JFileChooser cercaFile = new JFileChooser(); int rit = cercaFile.showOpenDialog(Contenitore); if (rit == JFileChooser.APPROVE_OPTION) { File f = cercaFile.getSelectedFile(); //File si trova in java.io …. //qui va il codice per leggere il file... } java.io.File ● ● ● ● Questa classe offre diverse metodi per interagire con il file system. Si applica a files e directory Con opprtuni metodi si può settare permessi, ecc. Può servire anche per listare il contenuto di una directory Lettura di un file FileReader ● ● La classe FileReader ha un metodo read() che legge semplicemente un carattere per volta e restuisce un intero (che può essere convertito in char!) o -1 in caso di fine file. Nel costruttore si può passare il nome col percorso completo oppure un oggetto fi tipo File FileReader lettore = new FileReader(f); String contenuto = ""; for(int car= lettore.read(); car != ­1; car= lettore.read() ) { contenuto += (char) car; } lettore.close() Lettura di un file (FileReader) ● Note bene: è obbligatorio inserire un costrutto try catch per gestie eventuali eccezioni (non prevedibili in fase di programmazione..) try { FileReader lettore = new FileReader(f); String contenuto = ""; for(int car= lettore.read(); car!= ­1; car= lettore.read() ) { contenuto += (char) car; } textarea.setText(contenuto); lettore.close(); } catch (IOException ex) { System.out.println(“Si e' verificato un errore!!”) } Scrittura di un file (FileWriter) try { FileWriter f = new FileWriter(nomeFile); f.write(testoDaScrivere); f.close(); } catch (IOException ex) { /*err...*/ }