Accesso a file utilizzando oggetti di classe JFileChooser

La classe JFileChooser, disponibile in java.swing.JFileChooser, permette di creare finestre di dialogo che consentono all'utente di scegliere un file da aprire all'interno di una cartella, o scegliere con quale nome e in quale cartella salvare un file. Le finestre di dialogo permettono anche di navigare attraverso le cartelle del file system. Senza scendere nei dettagli, si mostra nel seguito un esempio di utilizzo.
			JFileChooser fc = new JFileChooser();
			fc.setCurrentDirectory(new File("."));
			if(fc.showOpenDialog(null) != JFileChooser.APPROVE_OPTION)
				System.exit(0);
			File fileIn = fc.getSelectedFile();
			if(fc.showSaveDialog(null) != JFileChooser.APPROVE_OPTION)
				System.exit(0);
			File fileOut = fc.getSelectedFile();
L'oggetto fc è un oggetto di classe JFileChooser. In quanto tale, possiede diversi metodi, tra i quali:
setCurrentDirectory imposta la cartella iniziale che verrà utilizzata quando saranno mostrate le finestre di scelta. Questo metodo richiede un parametro di classe File, che nell'esempio è un oggetto File creato sul momento e che si riferisce alla cartella corrente (il nome della cartella corrente è sempre ".").
showOpenDialog mostra una finestra per l'apertura di un file. Il parametro null fa sì che la finestra mostrata sia indipendente dalle altre. Questo metodo restituisce un valore diverso a seconda del fatto che l'utente concluda la scelta premendo il tasto "annulla" oppure "apri". Nel secondo caso viene restituito il valore JFileChooser.APPROVE_OPTION.
Quindi, l'istruzione
   if(fc.showOpenDialog(null) != JFileChooser.APPROVE_OPTION)
mostra una finestra per la scelta di un file da leggere e decide se l'utente ha concluso premendo il tasto "apri" oppure no.
showSaveDialog mostra una finestra per il salvataggio di un file, vediamo che in alto è possibile scrivere il nome del file. Il parametro null fa sì che la finestra mostrata sia indipendente dalle altre. Questo metodo restituisce un valore diverso a seconda del fatto che l'utente concluda la scelta premendo il tasto "annulla" oppure "salva". Nel secondo caso viene restituito il valore JFileChooser.APPROVE_OPTION.
Quindi, l'istruzione
   if(fc.showSaveDialog(null) != JFileChooser.APPROVE_OPTION)
mostra una finestra per la creazione di un file in scrittura e decide se l'utente ha concluso premendo il tasto "salva" oppure no.
getSelectedFile nel caso in cui uno dei metodi precedenti si sia concluso con la scelta di un file, restituisce un oggetto File collegato al file aperto, o al file creato per la scrittura. Questo oggetto puņ essere poi utilizzato ad esempio per creare un oggetto Scanner per la lettura di un file o un oggetto PrintWriter per la scrittura di un file.

Lettura ed elaborazione di un file di testo contenente numeri interi

Partendo dal programma in CopiaFile.java, scrivere un programma che legge un file di testo contenente numeri interi (uno o più per riga, separati da spazi) e stampa un file che contiene solo i numeri primi tra quelli letti.

I numeri possono essere letti attraverso un oggetto Scanner con il metodo nextInt.

La verifica di primalità del numero sarà effettuata definendo e chiamando un metodo opportuno.