[Java]OutputStreamWriterクラスでファイルを読み書きする方法

2021年8月23日

書式
1.public int read() throws IOException
この入力ストリームからデータのバイトを読み込みます。
2. public void write(int b) throws IOException
指定されたバイトをこのファイル出力ストリームに書き込みます。
使用例

package com.arkgame.info;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class FileInputStreamDemo {

      private static String fisName = "C:/data/study/test11.pdf";
      private static String fosName = "C:/data/study/test22.pdf";

      public static void main(String[] args) throws IOException {

            Path p1 = Paths.get(fisName);
            System.out.println("ファイル1のサイズ: " + Files.size(p1));

            /*ファイル1のバイトデータをファイル2に書き込む*/
            try (FileInputStream fin = new FileInputStream(fisName);
                        FileOutputStream fout = new FileOutputStream(fosName)) {
                  int cnt;
                  /* 入力ストリームからバイト配列に読み込む */
                  while ((cnt = fin.read()) != -1) {
                        /* バイト配列の内容を出力ストリームに書き出す */
                        fout.write((byte) cnt);
                  }
            }
            
            Path p2 = Paths.get(fosName);
            System.out.println("ファイル2のサイズ: " + Files.size(p2));
      }

}

実行結果
ファイル1のサイズ: 138582
ファイル2のサイズ: 138582

Java

Posted by arkgame