Creazione, eliminazione, lettura e scrittura di file di testo

6 ottobre 2008

Java mette a disposizione degli sviluppatori diverse classi per lavorare con i file di testo, analizziamo le principali:

ClasseDescrizione
java.io.FileLa classe File è una rappresentazione astratta di un file o di una directory. Permette di lavorare a livello più alto, come ad esempio creare un file vuoto, eliminarlo, ricercarlo o rinominarlo.
java.io.FileReaderLa classe FileReader permette di leggere, uno alla volta, i caratteri contenuti in un file di testo.
java.io.BufferedReaderLa classe BufferedReader è simile alla classe FileReader ma permette di leggere i caratteri presenti nel file in blocchi. I caratteri letti vengono memorizzati in un buffer temporaneo. Quando i dati vengono richiesti, vengono letti dal buffer, quindi le prestazioni migliorano notevolmente non dovendo ogni volta avere l’ok del sistema operativo per accedere al file system.
java.io.FileWriterLa classe FileWriter permette di scrivere i caratteri in un file di testo uno alla volta.
java.io.BufferedWriterLa classe BufferedWriter è simile alla classe FileWriter ma permette di scrivere i caratteri nel file in blocchi. I caratteri vengono memorizzati temporaneamente in un buffer temporaneo. Periodicamente i caratteri vengono letti dal buffer e scritti fisicamente sul file, quindi, anche in questo caso, le prestazioni migliorano notevolmente.
Java.io.PrintWriterLa classe PrintWriter è simile alla classe BufferedWriter ma permette di scrivere nel file stringhe formattate.

Per prendere confidenza con queste classi, analizziamo dei semplicissimi esempi:

// Listato 1. Creazione di un file vuoto
public static void newFile() {
	String path = "C:/html.txt";

	try {
		File file = new File(path);
		
		if (file.exists())
			System.out.println("Il file " + path + " esiste");
		else if (file.createNewFile())
			System.out.println("Il file " + path + " è stato creato");
		else
			System.out.println("Il file " + path + " non può essere creato");
	
	} catch (IOException e) {
		e.printStackTrace();
	}
}

Il costruttore della classe File riceve in ingresso il path del file. La creazione di un’istanza di File non genera la creazione fisica del file sul disco fisso; occorre chiamare il metodo createNewFile() per crearlo fisicamente.

Se proviamo a lanciare l’esempio, la prima volta il file verrà creato, la seconda volta invece verrà stampato che il file è già presente poiché il metodo exists restituirà true.

I metodi principali della classe File sono i seguenti:

MetodoDescrizione
exists()restituisce true se il file esiste, false altrimenti.
createNewFile()crea effettivamente il file sul disco.
delete()elimina il file dal disco.
isFile()restituisce true se si tratta di un file, false altrimenti.
isDir()restituisce true se si tratta di una directory, false altrimenti.
mkDir()permette di creare una directory.

Se vuoi aggiornamenti su Creazione, eliminazione, lettura e scrittura di file di testo inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su Creazione, eliminazione, lettura e scrittura di file di testo

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy