HOWTO · Java

Java で文字列をファイルに保存する

この記事では、Java で文字列をファイルに保存する方法を紹介します。

この記事では、Java でファイルに文字列を書き込む方法を紹介します。

Java の PrintWriter クラスを使用してファイルに文字列を書き込む

文字列をファイルに書き込むには、PrintWriter クラスを使用できます。クラスのコンストラクターは、指定された名前をパラメーターとして指定してファイルを作成します。

文字列が存在しない場合、ファイルを作成できない場合、またはファイルを開いたり作成したりしているときにその他のエラーが発生した場合、コンストラクターは FileNotFoundException をスローします。

println() 関数はファイル内の文字列を出力し、行を終了します。

close() メソッドはストリームを閉じ、それに関連するシステムリソースを解放します。

package writeStringToFile;

import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Objects;

public class WriteStringToFile {
  public static void main(String[] args) {
    PrintWriter printWriter = null;
    String textToBeWritten = "Hello";
    {
      try {
        printWriter = new PrintWriter("writerFile.txt");
      } catch (FileNotFoundException e) {
        System.out.println("Unable to locate the fileName: " + e.getMessage());
      }
      Objects.requireNonNull(printWriter).println(textToBeWritten);
      printWriter.close();
    }
  }
}

Java7 ファイルクラスを使用してファイルに文字列を書き込む

Files クラスは、ファイル、ディレクトリ、またはその他の種類のファイルを操作する静的メソッドのみで構成されています。write() メソッドはバイトをファイルに書き込みます。オプションパラメータは、ファイルの作成方法または開く方法を指定します。オプションが存在しない場合、このメソッドは、CREATETRUNCATE_EXISTING、および WRITE オプションがすでに存在するかのように機能します。

このメソッドは、pathbytes の 2つのパラメーターを取ります。

path は、ターゲットファイルのパスを指定します。getBytes() メソッドは、文字列をバイト形式に変換します。

ファイルの書き込みまたは作成中にエラーが発生した場合、メソッドは IOException をスローします。

package writeStringToFile;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

public class WriteStringToFileJava7 {
  public static void main(String[] args) throws IOException {
    String contentToWrite = "Hello File!";
    String path =
        "C:\IdeaProjects\JavaProblems\src\main\java\writeStringToFile\target\targetFile.txt";
    Files.write(Paths.get(path), contentToWrite.getBytes());
  }
}

Java の FileWriter クラスを使用してファイルに文字列を書き込む

BufferedWriter クラスは、デフォルトサイズの出力バッファを使用するバッファリングされた文字出力ストリームを作成します。ライターオブジェクトをパラメーターとして受け取ります。FileWriter クラスコンストラクタは、文字列を格納するターゲットであるファイル名を取ります。write メソッドは、オブジェクト内の関連ファイルにテキストを書き込みます。このメソッドは、ファイルが検索できない場合に IOException をスローします。

ここで、finally ブロックで、入力および出力操作用のリソースを解放する必要があります。close メソッドはさらに IOException クラスをスローするため、try-catch ブロックで close 関数を使用するか、親メソッドで throws 句を追加する必要があります。

package writeStringToFile;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class WriteToFileUsingFileWriter {
  public static void main(String[] args) throws IOException {
    BufferedWriter bufferedWriter = null;
    try {
      bufferedWriter = new BufferedWriter(new FileWriter("targetFile.txt"));
      bufferedWriter.write("Hey! Content to write in File");

    } catch (IOException e) {
      System.out.println("Exception occurred: " + e.getMessage());

    } finally {
      if (bufferedWriter != null)
        bufferedWriter.close();
    }
  }
}