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

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

FileInputStreamクラス

  • 画像などのバイナリファイルを読み込むときに使用します
  • 以下はFileInputStreamクラスのメソッドです。
    ・public int read() throws IOException
     →バイトデータ(0-255)を返します。ファイルの終わりに達した場合、-1を返します。
  • 以下はJava8 API仕様のFileInputStreamクラスのリンクです。
    https://docs.oracle.com/javase/jp/8/docs/api/java/io/FileInputStream.html

FileOutputStreamクラス

  • 画像などのバイナリファイルを書き込むときに使用します
  • 以下はFileOutputStreamクラスのメソッドです。
    ・public void write(int b) throws IOException
     →バイトデータを書き込みます
  • 以下はJava8 API仕様のFileOutputStreamクラスのリンクです。
    https://docs.oracle.com/javase/jp/8/docs/api/java/io/FileOutputStream.html

コード

サンプルのコードです。
pngファイルを読み込み、そのまま別ファイルに出力しています。

package test1;
 
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
 
/**
 * ファイルの読み書き
 */
class Sample1 {
	void runSample() {
 
	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();
	}
	}
}
public class Test1 {
	public static void main(String[] args) {
		Sample1 s1 = new Sample1();
		s1.runSample(); 
	}
}

関連の記事

Java try-with-resources構文のサンプル
Java ファイルの読み込みと書き込み(Filesクラス)
Java ファイルの読み込みと書き込み(BufferedReaderとBufferedWriter)
Java ファイルの読み込みと書き込み(InputStreamReaderとOutputStreamWriter)
Java フォルダ内のファイルの一覧を取得するサンプル(Fileクラス)
Java ドライブの容量とドライブの空き容量を取得する(Fileクラス)




△上に戻る