Поиск…


Синтаксис

  • новый 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