CodeGym /Java Blog /ランダム /Java – ファイルへの書き込み
John Squirrels
レベル 41
San Francisco

Java – ファイルへの書き込み

ランダム グループに公開済み
ソフトウェア開発で最も一般的なタスクの 1 つは、ファイルの読み取りと書き込みです。Java では、ファイルへの書き込みは、組み込みのクラスとメソッドを使用して実行できる簡単なプロセスです。この記事では、Java を使用してファイルに書き込む方法を検討し、関連するさまざまなクラスとメソッドについて説明します。Java には、 Java でファイルに書き込むための FileWriterPrintWriter などの組み込みクラスが用意されています。

Java ファイルへの書き込みの例

まず、Java でファイルに書き込む簡単な例を見てみましょう。FileWriterクラスを使用して Java でファイルに文字列を書き込む方法の例を次に示します。

FileWriterクラス

FileWriterクラスは Java でファイルに書き込むもう 1 つの方法です。これは、文字データをファイルに書き込むことができる文字ストリーム クラスです。FileWriterクラスを使用して文字列をファイルに 書き込む方法を示す例を次に示します。
import java.io.FileWriter;
import java.io.IOException;


// Main method for the string to file in java starts from here,
public class WriteToFileExample {
    public static void main(String[] args) {
        // create a string to write text to file
        String data = "Hello, world!";

        try {
            // create a FileWriter object with the file name
            FileWriter writer = new FileWriter("output.txt");

            // write the string to the file
            writer.write(data);

            // close the writer
            writer.close();

            System.out.println("Successfully wrote text to file.");

        } catch (IOException e) {
            System.out.println("An error occurred.");
            e.printStackTrace();
        }
    }
}
この例では、まず、ファイルに書き込むテキストを含むdataという名前のStringオブジェクトを作成します。次に、書き込み先のファイルの名前 (この場合はOutput.txt ) を使用してFileWriterオブジェクトを作成します。次に、FileWriterオブジェクトのwrite()メソッドを使用して、データ文字列をファイルに書き込みます。このメソッドは、書き込むデータを含むString引数を受け取ります。最後に、FileWriterオブジェクトを閉じてファイル リソースを解放し、書き込み操作が成功した場合は成功メッセージをコンソールに出力し、例外がキャッチされた場合はエラー メッセージをコンソールに出力します。FileWriterクラスは、Java で文字データをファイルに書き込む簡単な方法です

FileOutputStream クラス

FileOutputStreamクラスは、データバイト ストリームとしてファイルに書き込むために使用されます。以下に例を示します。
import java.io.FileOutputStream;
import java.io.IOException;

public class WriteToFileExample {
    public static void main(String[] args) {
        String textToWrite = "Hello World!";

        try {
            FileOutputStream stream = new FileOutputStream("output.txt");
            byte[] bytesToWrite = textToWrite.getBytes();
            stream.write(bytesToWrite);
            stream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
この例では、書き込み先として「output.txt」というファイル名を付けて、streamという名前のFileOutputStreamオブジェクトを作成します。次に、 getBytes()メソッドを使用してtextToWrite文字列をバイト配列に変換し、 write()メソッドを使用してバイト配列をストリーム オブジェクトに書き込みます。最後に、ストリームオブジェクトを閉じます。

BufferedWriter クラス

BufferedWriterクラス、バッファリング機能を使用してファイルにテキストを書き込むために使用されます。以下に例を示します。
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class WriteToFileExample {
    public static void main(String[] args) {
        String textToWrite = "Hello World!";

        try {
            BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"));
            writer.write(textToWrite);
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
この例では、「output.txt」ファイルに書き込むFileWriterオブジェクトを使用して、writerという名前のBufferedWriterオブジェクトを作成します。次に、ライターオブジェクトのwrite()メソッドを使用して、 textToWriteをファイルに書き込みます。最後に、ライターオブジェクトを閉じます。

WriteString() メソッド

writeString ()メソッドは、 Filesクラスを使用してファイルに文字列を書き込むために Java 11 で導入された便利なメソッドです。これを使用すると、1 行のコードでファイルに文字列を書き込むことができます。以下に例を示します。
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class WriteToFileExample {
    public static void main(String[] args) {
        // create a string to write to a file
        String data = "Hello, world!";

        // create a file object
        Path file = Paths.get("output.txt");

        try {
            // write the string to the file using writeString() method
            Files.writeString(file, data);

            System.out.println("Successfully wrote text to file.");

        } catch (IOException e) {
            System.out.println("An error occurred.");
            e.printStackTrace();
        }
    }
}
この例では、まず、ファイルに書き込むテキストを含むdataという名前のStringオブジェクトを作成します。次に、書き込み先のファイル (この場合は「output.txt」) を表す file という名前Pathオブジェクトを作成します。次に、Files.writeString()メソッドを使用して、ファイルオブジェクトで表されるファイルにデータ文字列を書き込みます。このメソッドは 2 つの引数を取ります。1つは書き込むファイルを表すPathオブジェクト、もう 1つは書き込むデータを含むStringオブジェクトです。最後に、書き込み操作が成功した場合は成功メッセージをコンソールに出力し、例外がキャッチされた場合はエラー メッセージをコンソールに出力します。writeString ()メソッドは、Java 11 以降を使用してファイルに 文字列を書き込むための便利な方法です。

PrintWriterクラス

PrintWriterクラス、各行が書き込まれた後に出力バッファを自動的にフラッシュし、データがただちにファイルに書き込まれるようにします。これは、大量のテキスト データをファイルに書き込む場合に便利な選択肢になります。以下に例を示します。
import java.io.PrintWriter;
import java.io.FileWriter;
import java.io.IOException;

public class WriteToFileExample {
    public static void main(String[] args) {
        String textToWrite = "Hello World!";

        try {
            PrintWriter writer = new PrintWriter(new FileWriter("output.txt"));
            writer.println(textToWrite);
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
この例では、「output.txt」ファイルに書き込むFileWriteオブジェクトを使用して、writerという名前のPrintWriterオブジェクトを作成します。次に、ライターオブジェクトのprintln()メソッドを使用して、 textToWriteをファイルに書き込みます。最後に、ライターオブジェクトを閉じます。

DataOutputStream クラス

DataOutputStreamクラス、プリミティブ Java データ型をバイト ストリームとしてファイルに書き込むために使用されます。以下に例を示します。
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class WriteToFileExample {
    public static void main(String[] args) {
        String textToWrite = "Hello World!";
        int numberToWrite = 42;

        try {
            DataOutputStream stream = new DataOutputStream(new FileOutputStream("output.txt"));
            stream.writeUTF(textToWrite);
            stream.writeInt(numberToWrite);
            stream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
この例では、 streamという名前のDataOutputStreamオブジェクト を作成し、「output.txt」ファイルに書き込みます。次に、ストリームオブジェクトのwriteUTF()メソッドを使用してtextToWrite文字列を書き込み、writeInt()メソッドを使用してnumberToWrite整数をファイルに書き込みます。最後に、ストリームオブジェクトを閉じます。

FileChannel クラス

FileChannelクラス、メモリ マップド I/O を使用してファイルにデータを書き込む方法を提供します。以下に例を示します。
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class WriteToFileExample {
    public static void main(String[] args) {
        String textToWrite = "Hello World!";

        try {
            File file = new File("output.txt");
            RandomAccessFile randomAccessFile = new RandomAccessFile(file, "rw");
            FileChannel channel = randomAccessFile.getChannel();
            ByteBuffer buffer = ByteBuffer.allocate(1024);
            buffer.put(textToWrite.getBytes());
            buffer.flip();
            channel.write(buffer);
            randomAccessFile.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
この例では、まずファイル名「output.txt」をパラメータとして fileという名前のFileオブジェクトを作成します。次に、ファイルオブジェクトと「rw」モードをパラメーターとして使用して、randomAccessFileという名前のRandomAccessFileオブジェクトを作成します。次に、 channelという名前のFileChannelオブジェクトを作成します。これは、randomAccessFileオブジェクトを使用して初期化されます。次に、容量 1024 バイトのBufferという名前のByteBufferオブジェクトを作成し、 textToWrite文字列をパラメータとして配置します。次に、バッファオブジェクトを反転して書き込みの準備をし、 write()メソッドを使用してチャネル オブジェクトに書き込みます。最後に、 randomAccessFileオブジェクトを閉じます。

結論

結論として、Java を使用したファイルへの書き込みは、ソフトウェア開発における一般的なタスクであり、いくつかの組み込みクラスとメソッドを使用して実行できます。この記事では、 FileOutputStreamBufferedWriterFileWriterPrintWriterDataOutputStream、およびFileChannelクラスの使用を含む、ファイルに書き込む方法のいくつかの例について説明しました。ファイルに書き込む場合、ファイルが適切に保存され、リソースが適切に解放されるようにするには、適切なエラー処理と書き込み後にファイルを閉じることが重要であることに注意することが重要です。この記事で提供されている例を使用すると、初心者は Java を使用してファイルに書き込む方法の基本を理解し、さまざまな使用例を練習して実験できるようになります。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION