![BufferedReader e BufferedWriter - 1]()
La classe di Java
BufferedReader
legge il testo da un flusso di simboli, bufferizzando i simboli per leggere in modo efficiente caratteri, array e stringhe. È possibile passare la dimensione del buffer al costruttore come secondo argomento.
Costruttori:
BufferedReader(Reader in)
BufferedReader(Reader in, int sz)
Metodi:
close()
mark(int readAheadLimit)
markSupported()
int read()
int read(char[] cbuf, int off, int len)
String readLine()
boolean ready()
reset()
skip(long n)
Ecco un esempio di utilizzo delle classi BufferedReader
e BufferedWriter
:
Leggere un file:
import java.io.*;
public class ReadFile {
public static void main(String[] args) {
try {
File file = new File("file.txt");
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String line;
while((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
bufferedReader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
La classe di Java
BufferedWriter
scrive il testo in un flusso di caratteri di output, memorizzando i caratteri nel buffer per scrivere in modo efficiente caratteri, array e stringhe. È possibile passare la dimensione del buffer al costruttore come secondo argomento.
Costruttori:
BufferedWriter(Writer out)
BufferedWriter(Writer out, int sz)
Metodi:
close()
flush()
newLine()
write(char[] cbuf, int off, int len)
write(int c)
write(String s, int off, int len)
Ecco un esempio di utilizzo di Java BufferedReader
e BufferedWriter
classi:
Scrivere su un file:
import java.io.*;
public class WriteFile {
public static void main(String[] args) {
String[] list = {"one", "two", "three", "fo"};
try {
File file = new File("file.txt");
FileWriter fileReader = new FileWriter(file);
BufferedWriter bufferedWriter = new BufferedWriter(fileReader);
for (String s : list) {
bufferedWriter.write(s + "\n");
}
bufferedWriter.close ();
} catch (Exception e) {
e.printStackTrace();
}
}
}
FileWriter
scrive immediatamente i dati su disco. Ogni volta che vi accediamo, il buffer racchiuso attorno ad esso accelera la nostra applicazione. Il buffer scriverà i dati internamente e successivamente scriverà grandi blocchi di file su disco.
Leggiamo i dati dalla console e li scriviamo in un file:
import java.io.*;
class ConsoleRead {
public static void main(String[] args) {
try {
File file = new File("file.txt");
InputStreamReader inputStreamReader = new InputStreamReader(System.in);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
FileWriter fileReader = new FileWriter(file);
BufferedWriter bufferedWriter = new BufferedWriter(fileReader);
String line;
while(!(line = bufferedReader.readLine()).equals("exit")) {
bufferedWriter.write(line);
}
bufferedReader.close();
bufferedWriter.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
GO TO FULL VERSION