16. Java IO: FileOutputStream

1966 ワード

このチュートリアルのディレクトリを表示するには、「JavaIOチュートリアルディレクトリ貼り付け」をクリックします.
FileOutputStreamは、ストリーム形式でファイルを書くことができます.彼はOutputStreamのサブクラスです.
OutputStreamの例
次はFileOutputStreamの簡単な例です.
OutputStream output = new FileOutputStream("c:\\data\\output-text.txt");

while(moreData) {
  int data = getMoreData();
  output.write(data);
}
output.close();

OutputStreamの構造方法
OutputStreamにはいくつかの使用する構造方法が含まれており、比較的よく使われる構造方法を紹介します.
最初の構築方法では、Stringタイプのパラメータを入力する必要があります.つまり、データのターゲットファイルパスを書く必要があります.
String path = "C:\\users\\jakobjenkov\\data\\datafile.txt";

FileOutputStream output = new FileOutputStream(path);

2つ目の構成方法は、システム上のファイルを指すFileタイプのパラメータを入力することです.
String path = "C:\\users\\jakobjenkov\\data\\datafile.txt";
File   file = new File(path);

FileOutputStream output = new FileOutputStream(file);

ファイルの上書きとインクリメンタル書き込み
FileOutputStreamを作成し、既存のファイルに出力する準備をしている場合は、このファイルを上書きするか増分するかを決定しなければなりません.これは、構造方法の使用方法によって異なります.
コンストラクションメソッドが1つのパラメータ、すなわちファイルのフルネームだけを入力すると、既存のファイルが上書きされます.
OutputStream output = new FileOutputStream("c:\\data\\output-text.txt");

次に、ファイル名とbooleanタイプの2つのパラメータの構造方法があります.これは、上書きしたいか増分したいかを示すパラメータです.次の2つの例を示します.
OutputStream output = new FileOutputStream("c:\\data\\output-text.txt", true); //      

OutputStream output = new FileOutputStream("c:\\data\\output-text.txt", false); //    

write()
この方法はintタイプのあなたが書きたいデータを転送する必要があります.
ライトバイト配列
FileOutputStreamはOutputStreamのサブクラスであるため、毎回1バイトしか書かない代わりにバイト配列を書くこともできます.
flush()
FileOutputStreamにデータを書き込むと、コンピュータのメモリにデータがキャッシュされ、ディスクへの書き込みが遅くなる可能性があります.たとえば、「X」数のデータが書き込まれるたびに、FileOutputStreamストリームが閉じられます.ストリームが閉じられず、すべてのデータがディスクに書き込まれていることを確認したい場合は、flush()メソッドを呼び出すことができます.
close()
他のOutputStreamと同様に、FileOutputStreamも事前に使用して閉じる必要があります.close()メソッドを呼び出すだけでいいです.