Java でファイルを作成してデータを書き込む方法
Hassan Saeed
2023年10月12日
-
Java でファイルを作成するには
PrintWriter
を使用する -
Java でファイルを作成するための
Files
-
Java でファイルを作成するための
BufferedWriter
-
Java でファイルを作成する
FileWriter
このチュートリアルでは、Java でテキストファイルを作成し、そこにデータを書き込む方法について説明します。
Java にはファイルを作成するための複数のメソッドがあります。覚えておくべきことは、try-catch
ブロックは、任意の IO 例外が優雅に処理されるように、ほとんどすべてのファイル作成メソッドに必要であるということです。これを使用するのを忘れないようにしてください。
Java でファイルを作成するには PrintWriter
を使用する
Java の PrintWriter
を使用すると、指定したエンコーディングで新しいファイルを作成することができます。以下に例を示します。
import java.io.*;
public class Main {
public static void main(String[] args) {
String fileName = "my-file.txt";
String encoding = "UTF-8";
try {
PrintWriter writer = new PrintWriter(fileName, encoding);
writer.println("The first line");
writer.println("The second line");
writer.close();
} catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}
Java でファイルを作成するための Files
java.nio.file
を使用してファイルを作成し、そこにデータを書き込むこともできます。以下の例は、このアプローチを示しています。
import java.io.*;
import java.nio.charset.*;
import java.nio.file.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
String fileName = "my-file.txt";
try {
List<String> lines = Arrays.asList("The first line", "The second line");
Path file = Paths.get(fileName);
Files.write(file, lines, StandardCharsets.UTF_8);
} catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}
この例では、ArrayList
の各要素が出力ファイルの改行に書き込まれるように、ArrayList
のデータをファイルに書き込んでいる。出力ファイルは以下のようになります。
> The first line
> The second line
Java でファイルを作成するための BufferedWriter
以下の例では、BufferedWriter
を用いてファイルを作成して書き込む様子を示しています。
import java.io.*;
import java.nio.charset.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
Charset utf8 = StandardCharsets.UTF_8;
List<String> list = Arrays.asList("This is the first line", "This is the second line");
String content = "This is my content";
try {
// File name with path
String fileName = "my-file.txt";
File myFile = new File(fileName);
FileOutputStream fos = new FileOutputStream(myFile);
OutputStreamWriter osw = new OutputStreamWriter(fos);
Writer writer = new BufferedWriter(osw);
// Write data using a String variable
writer.write(content + "\n");
// Write data from an ArrayList
for (String s : list) {
writer.write(s + "\n");
}
} catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}
出力:
> This is my content
> This is the first line
> This is the second line
Java でファイルを作成する FileWriter
Java で新しいファイルを作成してそれに書き込むもう一つの一般的な方法は、FileWriter
を使用することです。
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
FileWriter myWriter = new FileWriter("my-file.txt");
myWriter.write("We can also create a file and write to it using FileWriter");
myWriter.close();
} catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}
出力:
> We can also create a file and write to it using FileWriter