Leggere file di testo

Da Head First Java O'Reilly, capitolo 14.

Come é lecito attendersi, la lettura di un file di testo avviene in modo speculare rispetto alla sua scrittura.

Se per scrivere usiamo la classe FileWriter, per leggere usiamo la simmetrica FileReader.

Nell'esempio che segue vediamo anche l'uso delle classi che permettono di bufferizzare le operazioni di lettura/scrittura, mirando all'ottimizzazione dell'accesso alla memoria di massa.

Già che ci sono riscrivo anche la parte, vista nel post citato, in cui si scrive per mezzo di FileWriter, anche qui usando la bufferizzazione.

package Chap14;

import java.io.*;

public class StringManager {
private File f;

public StringManager(String fileName) {
f = new File(fileName);
}

public void write() {
try {
BufferedWriter bw = new BufferedWriter(new FileWriter(f));

for(int i = 0; i < 3; ++i)
bw.write("Hello!\n");
bw.close();
} catch(Exception ex) {
ex.printStackTrace();
}
}

public void read() {
try {
BufferedReader br = new BufferedReader(new FileReader(f));

String line;
while((line = br.readLine()) != null) {
System.out.println("read: " + line);
}
br.close();
} catch(Exception ex) {
ex.printStackTrace();
}
}

public static void main(String[] args) {
StringManager sm = new StringManager("hi.txt");

sm.write();
sm.read();
}
}

Nessun commento:

Posta un commento