Java Language
BufferedWriter
Szukaj…
Składnia
- nowy BufferedWriter (Writer); // Domyślny konstruktor
- BufferedWriter.write (int c); // Zapisuje pojedynczy znak
- BufferedWriter.write (String str); // Zapisuje ciąg
- BufferedWriter.newLine (); // Zapisuje separator linii
- BufferedWriter.close (); // Zamyka BufferedWriter
Uwagi
- Jeśli spróbujesz pisać z
BufferedWriter
(używającBufferedWriter.write()
) po zamknięciuBufferedWriter
(używającBufferedWriter.close()
),IOException
. - Konstruktor
BufferedWriter(Writer)
NIEIOException
. Jednak konstruktorFileWriter(File)
zgłaszaFileNotFoundException
, który rozszerzaIOException
. Tak więc przechwytywanieIOException
spowoduje również przechwycenieFileNotFoundException
, dlatego nigdy nie jest potrzebna druga instrukcja catch, chyba że planujesz zrobić coś innego zFileNotFoundException
.
Napisz wiersz tekstu do pliku
Ten kod zapisuje ciąg do pliku. Ważne jest, aby zamknąć program do pisania, więc odbywa się to w bloku finally
.
public void writeLineToFile(String str) throws IOException {
File file = new File("file.txt");
BufferedWriter bw = null;
try {
bw = new BufferedWriter(new FileWriter(file));
bw.write(str);
} finally {
if (bw != null) {
bw.close();
}
}
}
Zauważ też, że write(String s)
nie umieszcza znaku nowej linii po napisaniu łańcucha. Aby to newLine()
użyj metody newLine()
.
Java SE 7
Java 7 dodaje pakiet java.nio.file
i try-with-resources :
public void writeLineToFile(String str) throws IOException {
Path path = Paths.get("file.txt");
try (BufferedWriter bw = Files.newBufferedWriter(path)) {
bw.write(str);
}
}
Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow