Javaファイル入出力:データの読み書きの基本

この記事では、Javaでのファイル入出力について説明し、データの読み書きの基本を紹介します。

目次

  1. ファイル入出力の概要
  2. ファイルの読み込み
    1. BufferedReaderを使用したテキストファイルの読み込み
    2. FileInputStreamを使用したバイナリファイルの読み込み
  3. ファイルの書き込み
    1. BufferedWriterを使用したテキストファイルの書き込み
    2. FileOutputStreamを使用したバイナリファイルの書き込み
  4. まとめ

1. ファイル入出力の概要

Javaでファイル入出力を行うためには、主にjava.ioパッケージのクラスを使用します。これらのクラスを利用して、テキストファイルやバイナリファイルの読み込み・書き込みを行うことができます。

2. ファイルの読み込み

2.1. BufferedReaderを使用したテキストファイルの読み込み

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ReadTextFile {
    public static void main(String[] args) {
        try (BufferedReader br = new BufferedReader(new FileReader("sample.txt"))) {
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

2.2. FileInputStreamを使用したバイナリファイルの読み込み

import java.io.FileInputStream;
import java.io.IOException;

public class ReadBinaryFile {
    public static void main(String[] args) {
        try (FileInputStream fis = new FileInputStream("sample.bin")) {
            int data;
            while ((data = fis.read()) != -1) {
                System.out.printf("%02X%n", data);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

3. ファイルの書き込み

3.1. BufferedWriterを使用したテキストファイルの書き込み

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

public class WriteTextFile {
    public static void main(String[] args) {
        try (BufferedWriter bw = new BufferedWriter(new FileWriter("output.txt"))) {
            bw.write("Hello, world!");
            bw.newLine();
            bw.write("This is Java file I/O example.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

3.2. FileOutputStreamを使用したバイナリファイルの書き込み

import java.io.FileOutputStream;
import java.io.IOException;

public class WriteBinaryFile {
    public static void main(String[] args) {
        byte[] data = new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05 };
        try (FileOutputStream fos = new FileOutputStream("output.bin")) {
            fos.write(data);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

4. まとめ

この記事では、Javaでのファイル入出力について学びました。java.ioパッケージを利用してテキストファイルやバイナリファイルの読み込み・書き込みを行う方法を学習しました。Javaでのファイル操作に慣れることで、さまざまなアプリケーションやシステム開発に役立てることができます。