バイトストリーム:
バイト出力ストリーム:OutputStream
OutputStreamには多くのサブクラスがあり、サブクラスFileOutputStream を使用してデータをファイルに書き込むことができます。
たFileOutputStreamのクラス、すなわち、ファイル出力ストリームは、書き込みデータに使用されているファイルの出力ストリーム。
FileOutputStream(文字列名):指定した名前のファイルにデータを書き込む出力ファイルストリームを作成します
バイト入力ストリーム:InputStream
int read():バイトを読み取って戻り、バイトがない場合は-1を返します。
int read(バイト[]):特定のバイト数を読み取り、それらをバイト配列に格納して、読み取ったバイト数を返します。
InputStreamには多くのサブクラスがあり、サブクラスFileInputStream を使用してファイルの内容を読み取ることができます。
FileInputStream は、ファイルシステム内のファイルから入力バイトを取得します。
バイトストリームからビデオをコピーする小さなケースを次に示します。
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Date;
public class Work01 {
public static void main(String [] args)throws IOException {
// 1つの配列1つの配列のコピー
Date date = new Date();
System.out.println( "Start time:" + date.getTime()) ;
//明示的なデータソース
FileInputStream fis = new FileInputStream( "D:\\ io1227 \\ video \\ AMG_GT_ALL_4_original.mp4");
//明示的な宛先
FileOutputStream fos = new FileOutputStream( "D:\\ io1227 \\ mp4。 mp4 ");
//
バイトのコピーを開始[]バイト=新しいバイト[1024];
int len = 0;
while((len = fis.read(bytes))!= -1){
fos.write(bytes);
}
fis.close();
fos.close();
Date date2 = new Date();
System.out.println( "Array copy end time:" + date2.getTime());
// 1バイト1バイトコピー
FileInputStream fis2 = new FileInputStream( "D:\\ io1227 \\ video \\ AMG_GT_ALL_4_original.mp4");
FileOutputStream fos2 = new FileOutputStream( "D:\\ io1227 \\ mp5.mp4");
int len2 = 0;
while( (len2 = fis2.read())!= -1){
fos2.write(len2);
}
fis2.close();
fos2.close();
日付date3 = new Date();
System.out.println( "バイトコピーの終了時間: "+ date3.getTime());
System.out.println("配列のコピー時間: "+(date2.getTime()-date.getTime())+" ms ");
System.out .println( "バイトをコピーする時間:" +(date3.getTime()-date2.getTime())+ "ms");
}
}
これはサイズが2330KBの小さなビデオです。配列がバイトよりもはるかに効率的であることは明らかです
、