Klasa Oto przykład użycia klas Java
Wczytywanie pliku:
Oto przykład użycia klas języka Java
Zapisywanie do pliku:
BufferedReader
w języku Java odczytuje tekst ze strumienia symboli, buforuje symbole w celu wydajnego odczytywania znaków, tablic i ciągów. Konstruktorowi można przekazać rozmiar bufora jako drugi argument. Konstruktory:
BufferedReader(Reader in) // Creates a buffered stream for reading symbols. It uses the default buffer size.
BufferedReader(Reader in, int sz) // Creates a buffered stream for reading symbols. It uses the specified buffer size.
Metody:
close() // Close the stream
mark(int readAheadLimit) // Mark the position in the stream
markSupported() // Indicates whether stream marking is supported
int read() // Read the buffer
int read(char[] cbuf, int off, int len) // Read the buffer
String readLine() // Next line
boolean ready() // Is the stream ready to read?
reset() // Reset the stream
skip(long n) // Skip characters
Oto przykład użycia klas Java BufferedReader
i BufferedWriter
:
Wczytywanie pliku:
import java.io.*;
public class ReadFile {
public static void main(String[] args) {
try {
File file = new File("file.txt");
FileReader fileReader = new FileReader(file); // A stream that connects to the text file
BufferedReader bufferedReader = new BufferedReader(fileReader); // Connect the FileReader to the BufferedReader
String line;
while((line = bufferedReader.readLine()) != null) {
System.out.println(line); // Display the file's contents on the screen, one line at a time
}
bufferedReader.close(); // Close the stream
} catch (Exception e) {
e.printStackTrace();
}
}
}
Klasa BufferedWriter
języka Java zapisuje tekst w wyjściowym strumieniu znaków, buforuje je w celu wydajnego zapisu znaków, tablic i ciągów. Konstruktorowi można przekazać rozmiar bufora jako drugi argument.
Konstruktory:
BufferedWriter(Writer out) // Create a buffered output character stream that uses the default buffer size.
BufferedWriter(Writer out, int sz) // Creates a buffered character output stream that uses a buffer with the specified size.
Metody:
close() // Close the stream
flush() // Send the data from the buffer to the Writer
newLine() // Move to a new line
write(char[] cbuf, int off, int len) // Write to the buffer
write(int c) // Write to the buffer
write(String s, int off, int len) // Write to the buffer
Oto przykład użycia klas języka Java BufferedReader
i BufferedWriter
:
Zapisywanie do pliku:
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); // A stream that connects to the text file
BufferedWriter bufferedWriter = new BufferedWriter(fileReader); // Connect the FileWriter to the BufferedWriter
for (String s : list) {
bufferedWriter.write(s + "\n");
}
bufferedWriter.close (); // Close the stream
} catch (Exception e) {
e.printStackTrace();
}
}
}
FileWriter
natychmiast zapisuje dane na dysku. Za każdym razem, gdy uzyskujemy do niego dostęp, opakowujący go bufor przyspiesza naszą aplikację. Bufor zapisze dane wewnętrznie, a następnie zapisze duże fragmenty plików na dysku.
Odczytujemy dane z konsoli i zapisujemy je do pliku:
import java.io.*;
class ConsoleRead {
public static void main(String[] args) {
try {
File file = new File("file.txt");
InputStreamReader inputStreamReader = new InputStreamReader(System.in); // A stream for reading from the console
BufferedReader bufferedReader = new BufferedReader(inputStreamReader); // Connect InputStreamReader to a BufferedReader
FileWriter fileReader = new FileWriter(file); // A stream that connects to the text file
BufferedWriter bufferedWriter = new BufferedWriter(fileReader); // Connect the FileWriter to the BufferedWriter
String line;
while(!(line = bufferedReader.readLine()).equals("exit")) {
bufferedWriter.write(line);
}
bufferedReader.close(); // Close the stream
bufferedWriter.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Ten artykuł przeczytasz także po angielsku. |
---|
Read the English version of this article to better understand Java’s BufferedReader and BufferedWriter classes. Find out why and how they use buffering to your advantage. |
GO TO FULL VERSION