この記事では、Javaでのファイル入出力について説明し、データの読み書きの基本を紹介します。
目次
- ファイル入出力の概要
- ファイルの読み込み
- BufferedReaderを使用したテキストファイルの読み込み
- FileInputStreamを使用したバイナリファイルの読み込み
- ファイルの書き込み
- BufferedWriterを使用したテキストファイルの書き込み
- FileOutputStreamを使用したバイナリファイルの書き込み
- まとめ
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でのファイル操作に慣れることで、さまざまなアプリケーションやシステム開発に役立てることができます。