Java バイナリファイルの読み込みと書き込み

Javaのバイナリファイルファイルの読み込みと書き込みのサンプルです。

確認環境
・Java 8

目次

バイナリファイル バイナリファイルファイルの読み込みと書き込み
  使用しているコンストラクタ

バイナリファイルファイルの読み込みと書き込み

pngファイルを読み込み、新規ファイルとして別ファイルに出力するサンプルです。

package test1;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
 
public class Test1 {
    public static void main(String[] args) {
        
        String dir = "D:\\Test1";
        String file1 = "\\test1.png";
        String file2 = "\\test2.png";
        
        try(
        	FileInputStream fis = new FileInputStream(dir + file1);
        	BufferedInputStream reader = new BufferedInputStream(fis);
        		
            FileOutputStream fos = new FileOutputStream(dir + file2);
            BufferedOutputStream writer = new BufferedOutputStream(fos);
        ){
            int data;
            while ((data = reader.read()) != -1) {
                writer.write(data);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

16~20行目は、try-with-resources構文です。リソースを自動でクローズします。
16,19行目のFileInputStreamクラスとFileOutputStreamクラスは、バイトで読み書きします。
17,20行目のBufferedInputStreamクラスとBufferedOutputStreamクラスは、バッファ処理を行います。
23行目のreadメソッドの戻り値は、intを返します。バイトデータ(0~255)です。ファイルの終わりに達した場合、-1を返します。

使用しているコンストラクタ

FileInputStreamクラス

public FileInputStream(String name) throws FileNotFoundException

FileOutputStreamクラス

public FileOutputStream(String name) throws FileNotFoundException

BufferedInputStreamクラス

public BufferedInputStream(InputStream in)

BufferedOutputStreamクラス

public BufferedOutputStream(OutputStream out)

関連の記事

Java テキストファイルの読み書き(NIO.2のFiles)
Java バッファを利用したファイルの読み込みと書き込み(BufferedReaderとBufferedWriter)
Java ファイルの読み書き(文字コードを指定するクラス)
Java フォルダ/ファイルの一覧を取得(Fileクラス)
Java ドライブの容量と空き容量を取得(Fileクラス)

△上に戻る