クラス のインスタンスが正常に作成されましたFile
。これは、ハード ドライブに実際のファイルを作成するのとは大きく異なります。
クラスのインスタンスはFile
、ディスク上のファイルを参照するために使用されます。たとえば、次のように多くのことに使用できます。
- ファイルまたはディレクトリが存在するかどうかを確認します。
- ファイルまたはディレクトリの作成/削除/名前変更; と
- 「ストリーム」を開いてデータをファイルに書き込みます。
ハードディスクにファイルを作成し、そこにデータを書き込むには、たとえばFileOutputStream
.
public class AnExample {
public static void main(String... args) throws Throwable {
final File file = new File("file.dat");
try (FileOutputStream fos = new FileOutputStream(file);
DataOutputStream out = new DataOutputStream(fos)) {
out.writeInt(42);
}
}
}
ここでfos
、 のインスタンスではFileOutputStream
、OutputStream
書き込まれたすべてのバイトをディスク上の基になるファイルに書き込みます。
DataOutputStream
次に、その周りのインスタンスを作成しますFileOutputStream
。このようにして、バイトやバイト配列よりも複雑なデータ型を記述できます (これは、FileOutputStream
直接使用する唯一の可能性です)。
最後に、整数を表す 4 バイトのデータがファイルに書き込まれます42
。このファイルをテキスト エディターで開くと、上記のコードでは文字 '4' と '2' が書き込まれていないため、ゴミが表示されることに注意してください。
もう 1 つの可能性は、 を使用することでした。これにより、テキスト (非バイナリ) ファイルの書き込みに使用できるOutputStreamWriter
のインスタンスが得られます。Writer
public class AnExample {
public static void main(String... args) throws Throwable {
final File file = new File("file.txt");
try (FileOutputStream fos = new FileOutputStream(file);
OutputStreamWriter out = new OutputStreamWriter(fos, StandardCharsets.UTF_8)) {
out.write("You can read this with a text editor.");
}
}
}
ここで、テキスト エディタでファイルfile.txt
を開き、そこに書き込まれたメッセージを読むことができます。