Java Language
BufferedWriter
Поиск…
Синтаксис
- новый BufferedWriter (Writer); // Конструктор по умолчанию
- BufferedWriter.write (int c); // Записывает один символ
- BufferedWriter.write (String str); // Записывает строку
- BufferedWriter.newLine (); // Записывает разделитель строк
- BufferedWriter.close (); // Закрывает BufferedWriter
замечания
- Если вы попытаетесь написать из
BufferedWriter
(используяBufferedWriter.write()
) после закрытияBufferedWriter
(используяBufferedWriter.close()
), это вызоветIOException
. - Конструктор
BufferedWriter(Writer)
НЕ выбрасываетIOException
. Однако конструкторFileWriter(File)
FileNotFoundException
, которое расширяетIOException
. Таким образом,IOException
также поймаетFileNotFoundException
, никогда не требуется второй оператор catch, если вы не планируете делать что-то другое сFileNotFoundException
.
Напишите строку текста в файл
Этот код записывает строку в файл. Важно закрыть автора, так что это делается в блоке 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();
}
}
}
Также обратите внимание, что write(String s)
не помещает символ новой строки после того, как строка была записана. Для этого используйте newLine()
.
Java SE 7
Java 7 добавляет пакет java.nio.file
и пытается использовать ресурсы :
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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow