前のセクションでは、ファイル バイト出力ストリームを構築する方法を学習しました。このセクションでは、引き続き出力ストリームを使用してバイトを書き込み、ストリームを閉じる方法を学習します。
出力ストリームの目的は、宛先にチャネルを提供することです。プログラムは、このチャネルを通じてプログラム内のデータを宛先に書き込むことができ、親クラスから継承した書き込みメソッドを呼び出してファイルを順次書き込むことができます。 FileOutStream ストリームは、コンテンツをファイルに順番に書き込みます。つまり、ストリームが閉じられていない限り、 write メソッドが呼び出されるたびに、ストリームが閉じるまでコンテンツがファイルに順番に書き込まれます。
バイト出力ストリームの write メソッドは、データをバイト単位で宛先に書き込みます。
出力ストリームはこのメソッドを呼び出して、宛先に 1 バイトを書き込みます。
出力ストリームはこのメソッドを呼び出して、バイト配列を宛先に書き込みます。
指定されたバイト配列のオフセットから始まる len バイトを宛先に書き込みます。
出力ストリームを閉じます。
注: FileOutputStream ストリームは、ストリームが閉じられていない限り、ストリームが閉じられるまで、write メソッドが呼び出されるたびに、コンテンツを宛先に順次書き込みます。
オペレーティング システムがプログラムによって出力ストリームに書き込まれたバイトをディスクに保存する前に、それらのバイトがメモリ バッファに格納される場合があります。 close() メソッドを呼び出すことで、オペレーティング システムがストリーム バッファの内容を確実に書き込むことができます。宛先、つまり出力ストリームを閉じると、ストリームが使用するバッファの内容を通常はディスク ファイルにフラッシュできます。
例えば:
importjava.io.*;publicclassMain{publicstaticvoidmain(Stringargs[]){byte[]a=Happy New Year.getBytes();byte[]b=HappyNew Year.getBytes();Filefile=newFile(a.txt);//出力先 try{OutputStreamout=newFileOutputStream(file); // 出力先の出力ストリームを指す System.out.println(file.getName()+size:+file.length()+bytes);out.write( a) ;// データを宛先に書き込みます out.close();out=newFileOutputStream(file,true);// ファイルの末尾にコンテンツを追加する準備をします System.out.println(file.getName()+size:+ファイル .length()+bytes);out.write(b,0,b.length);System.out.println(file.getName()+size:+file.length()+bytes);out close( );}catch(IOExceptione){System.out.println(Error+e);}}}実行結果は次のとおりです。
a.txtのサイズ:0バイト a.txtのサイズ:12バイト a.txtのサイズ:26バイト