Java バイナリファイルの読み込みと書き込み(FileInputStreamとFileOutputStream)

Javaのバイナリファイルの読み込みと書き込みのサンプルです。
FileInputStreamクラスとFileOutputStreamクラスを使用します。

目次

FileInputStreamクラス

  • バイトで読み込みます。画像などのバイナリファイルに使用します。

FileInputStreamクラスのread()メソッド

public int read() throws IOException

 

FileOutputStreamクラス

  • バイトで書き込みます。画像などのバイナリファイルに使用します。

FileOutputStreamクラスのwrite(int b)メソッド

public void write(int b) throws IOException

 

コード

サンプルのコードです。
pngファイルを読み込み、そのまま別ファイルに出力しています。
15,16行目は、try-with-resources構文です。リソースを自動でクローズします。

package test1;
 
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
 
public class Test1 {
    public static void main(String[] args) {
        
        String dir = "D:\\workspace123abc";
        String filename1 = "\\test1.png";
        String filename2 = "\\test2.png";
        
        // try-with-resources構文
        try(FileInputStream reader = new FileInputStream(dir + filename1);
            FileOutputStream writer = new FileOutputStream(dir + filename2)){
            
            // 読み込みと書き込み
            int data;
            // readメソッドはファイルの終わりに達した場合、-1を返す
            while ((data = reader.read()) != -1) {
                writer.write(data);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

関連の記事

Java リソースを自動でクローズする(try-with-resources文)
Java テキストファイルの読み書きのサンプル(Filesクラス)
Java バッファを利用したファイルの読み込みと書き込み(BufferedReaderとBufferedWriter)
Java 文字コードを指定したファイルの読み込みと書き込み(InputStreamReaderとOutputStreamWriter)
Java フォルダ内のファイルの一覧を取得するサンプル(Fileクラス)
Java ドライブの容量と空き容量を取得するサンプル(Fileクラス)

プログラムでつまったらteratailに登録して質問しましょう!↓↓↓

△上に戻る