バイトフロー_メディアファイルをコピー_練習する


方法1:カスタムバッファ(比較的一般的)
 1 import java.io.FileInputStream;

 2 import java.io.FileOutputStream;

 3 import java.io.IOException;

 4 

 5 public class CopyDemo {

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

 7         copy();

 8     }

 9 

10     public static void copy() throws IOException {

11         FileInputStream fis = new FileInputStream("E:\\1.avi");

12         FileOutputStream fos = new FileOutputStream("F:\\3.avi");

13         

14         byte[] buf = new byte[1024];

15         

16         int len = 0;

17         

18         while((len = fis.read(buf))!= -1){

19             fos.write(buf,0,len);

20         }

21         

22         fis.close();

23         fos.close();

24     }

25 }

 
import java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;



public class CopyDemo {

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

        copy();

    }



    public static void copy() throws IOException {

        FileInputStream fis = new FileInputStream("E:\\1.avi");

        BufferedInputStream bfis = new BufferedInputStream(fis);

        

        FileOutputStream fos = new FileOutputStream("F:\\6.avi");

        BufferedOutputStream bfos = new BufferedOutputStream(fos);

        

        //byte[] buf = new byte[1024];//

        int len = 0;

        

        while((len = bfis.read())!= -1){

            bfos.write(len);

            //bfos.flush(); 

        }

        

        bfis.close();

        bfos.close();

    }

}

 
1つの文字ストリームで画像をコピーできますか?いいえ、バイトデータを読み取って直接目的地に書かないで、コードテーブルを探しに行きます.対応するデータがなければ、この時コードテーブルは未知の文字領域を持ってきます.