前のセクションでファイル バイト入力ストリームについて学習しました。ファイル バイト入力ストリームが存在するため、このセクションではファイル バイト出力ストリームについて学習します。
出力ストリームの使用には、通常、次の 4 つの基本的な手順が含まれます。
このセクションでは、ファイル バイト出力ストリームを学習することで、上記の 4 つの基本手順を理解します。
ファイルの書き込み要件が比較的単純な場合は、OutputStream クラス (コンテンツをバイト単位でファイルに書き込む) のサブクラスであるFileOutputStream クラス(ファイル バイト出力ストリーム) を使用できます。このクラスのインスタンス メソッドはすべて Inherited からのものです。 OutputStream クラスから。
FileOutputStream クラスの更新関数を備えた次のコンストラクター メソッドを使用して、ファイルを指す出力ストリームを作成できます。
FileOutputStream(文字列名);FileOutputStream(ファイルファイル);
最初のコンストラクターは、指定されたファイル名を使用して FileOutputStream ストリームを作成し、2 番目のコンストラクターは File オブジェクトを使用して FileOutputStream ストリームを作成します。パラメータ名とファイルで指定されたファイルは、出力ストリームの宛先と呼ばれます。
FileOutputStream 出力ストリームは、ファイルへのチャネルを開きます (宛先はこのファイルであり、出力ストリームはこのファイルを指します)。
注: 出力ストリームが指すファイルが存在しない場合、Java はファイルを作成します。出力ストリームが指すファイルがすでに存在する場合、出力ストリームはファイルを更新します (ファイルの長さが 0 になります)。 )。
さらに、入力ストリームの作成と同様に、出力ストリームの作成時にエラー (例外と呼ばれる) が発生する場合があります。たとえば、出力ストリームが書き込もうとしているファイルには操作が許可されていないか、その他の制限がある可能性があります。したがって、出力ストリームは try-catch ステートメントの try ブロック部分で作成する必要があり、例外は catch ブロック部分で検出して処理する必要があります。
たとえば、destination.txt を指す出力ストリームを作成します。
try{FileOutputStreamout=newFileoutputStream(destin.txt);//ファイル destin.txt を指す出力ストリームを作成します}catch(IOExceptione){System.out.println(Filewriteerror:+e);}
または
Filef=newFile(destin.txt);//出力ストリームの宛先を指定します try{FileOutputStreamout=newFileOutputStream(f);//宛先を指す出力ストリームを作成します}catch(IOExceptione){System.out.println(Filewrite :+e);}
オプションで更新機能を持つことができる FileOutputStream クラスの次のコンストラクター メソッドを使用して、ファイルを指す出力ストリームを作成できます。
FileOutputStream(Stringname,booleanappend);FileOutputStream(Filefile,booleanappend);
コンストラクター メソッドを使用してファイルを指す出力ストリームを作成する場合、append パラメーターが true の場合、出力ストリームは指すファイルを更新せず (ファイルが既に存在する場合)、出力ストリームの write メソッドが開始されます。ファイルの最後からデータを書き込む場合、append パラメーターは false であり、出力ストリームは指定されたファイルを更新します (ファイルが既に存在する場合)。