サーチ…


構文

  • 新しい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)コンストラクターはIOExceptionを拡張するFileNotFoundExceptionスローします。だから、 IOExceptionをキャッチするとFileNotFoundExceptionもキャッチされますが、 FileNotFoundExceptionと何か違うことをする計画がない限り、2番目のcatch文は必要ありません。

ファイルにテキスト行を書く

このコードは文字列をファイルに書き込みます。ライターを閉じることは重要です。だから、これは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パッケージと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
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow