FileOutputStream
日本語 | 書類出力流れ |
英語 | file output stream |
ふりがな | ふぁいるあうとぷっとすとりーむ |
フリガナ | ファイルアウトプットストリーム |
J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名はjava.io.FileOutputStream。
ストリームクラス。OutputStreamクラスのサブクラスであり、バイト出力ストリームクラスである。
バイト出力ストリームクラスの中では「出力先」に位置する。
対になる入力側のクラスはFileInputStreamクラスである。
バイトストリームをファイルに出力するバイト出力ストリームクラス。
ファイルに1バイトずつ出力するためのクラス。
何も変換を行わず、素直に1バイトずつ出力するため、バイナリーファイルの出力に向いているが、テキストファイルの場合、改行コードの変換等が行われないため不便である。その場合には文字出力ストリームクラスであるFileWriterクラスの使用を勧める。
FileOutputStreamクラスのコンストラクタに「本当の出力先」となるファイルを指定することで、そのファイルを開く。
FileOutputStreamクラスのwrite()メソッドを用いてバイトデータを書き込む。引数がひとつのwrite()メソッドは、int型を引数に受け取るが、実際に処理されるのはbyte型のサイズのみのため、渡せる値は0x00~0xFFとなる。
処理終了後はclose()メソッドを呼び終了処理を行う。ファイルを閉じるため必ずこのメソッドを呼ぶ必要がある。
ストリームクラス。OutputStreamクラスのサブクラスであり、バイト出力ストリームクラスである。
バイト出力ストリームクラスの中では「出力先」に位置する。
対になる入力側のクラスはFileInputStreamクラスである。
バイトストリームをファイルに出力するバイト出力ストリームクラス。
ファイルに1バイトずつ出力するためのクラス。
何も変換を行わず、素直に1バイトずつ出力するため、バイナリーファイルの出力に向いているが、テキストファイルの場合、改行コードの変換等が行われないため不便である。その場合には文字出力ストリームクラスであるFileWriterクラスの使用を勧める。
FileOutputStreamクラスのコンストラクタに「本当の出力先」となるファイルを指定することで、そのファイルを開く。
FileOutputStreamクラスのwrite()メソッドを用いてバイトデータを書き込む。引数がひとつのwrite()メソッドは、int型を引数に受け取るが、実際に処理されるのはbyte型のサイズのみのため、渡せる値は0x00~0xFFとなる。
処理終了後はclose()メソッドを呼び終了処理を行う。ファイルを閉じるため必ずこのメソッドを呼ぶ必要がある。
参考サイト
// Sample.java
import java.io.FileOutputStream;
import java.io.IOException;
public class Sample
{
public static void main( String[] args )
{
// 出力ファイルの絶対パス。
// ファイルは存在しなくても構いません。
// というか存在すると上書きされます。
String outputFilePath = "D:/to.txt";
// FileOutputStreamクラスの参照型変数。
// ここで作っておくのはfinallyでclose()メソッドを呼ぶためです。
FileOutputStream fileOutputStream = null;
try
{
// FileOutputStreamクラスを作ります。
fileOutputStream = new FileOutputStream( outputFilePath );
// バイトデータを書き込みます。
fileOutputStream.write( 0x41 ); // A
fileOutputStream.write( 0x42 ); // B
fileOutputStream.write( 0x43 ); // C
// to.txtには「ABC」と出力されているはずです。
// このように、バイナリーデータを出力することができます。
}
catch( IOException e )
{
// ファイルが無かった場合等に、この
// IOException例外が投げられます。
e.printStackTrace();
}
finally
{
// ファイルを扱ったら、最後にclose()メソッドを呼んで
// 後処理をします。また、これは必ず行うため、
// finally内で行います。
try
{
if( fileOutputStream != null )
{
fileOutputStream.close();
}
}
catch( IOException e )
{
e.printStackTrace();
}
}
}
}
import java.io.FileOutputStream;
import java.io.IOException;
public class Sample
{
public static void main( String[] args )
{
// 出力ファイルの絶対パス。
// ファイルは存在しなくても構いません。
// というか存在すると上書きされます。
String outputFilePath = "D:/to.txt";
// FileOutputStreamクラスの参照型変数。
// ここで作っておくのはfinallyでclose()メソッドを呼ぶためです。
FileOutputStream fileOutputStream = null;
try
{
// FileOutputStreamクラスを作ります。
fileOutputStream = new FileOutputStream( outputFilePath );
// バイトデータを書き込みます。
fileOutputStream.write( 0x41 ); // A
fileOutputStream.write( 0x42 ); // B
fileOutputStream.write( 0x43 ); // C
// to.txtには「ABC」と出力されているはずです。
// このように、バイナリーデータを出力することができます。
}
catch( IOException e )
{
// ファイルが無かった場合等に、この
// IOException例外が投げられます。
e.printStackTrace();
}
finally
{
// ファイルを扱ったら、最後にclose()メソッドを呼んで
// 後処理をします。また、これは必ず行うため、
// finally内で行います。
try
{
if( fileOutputStream != null )
{
fileOutputStream.close();
}
}
catch( IOException e )
{
e.printStackTrace();
}
}
}
}
// Sample.java import java.io.FileOutputStream; import java.io.IOException; public class Sample { public static void main( String[] args ) { // 出力ファイルの絶対パス。 // ファイルは存在しなくても構いません。 // というか存在すると上書きされます。 String outputFilePath = "D:/to.txt"; // FileOutputStreamクラスの参照型変数。 // ここで作っておくのはfinallyでclose()メソッドを呼ぶためです。 FileOutputStream fileOutputStream = null; try { // FileOutputStreamクラスを作ります。 fileOutputStream = new FileOutputStream( outputFilePath ); // バイトデータを書き込みます。 fileOutputStream.write( 0x41 ); // A fileOutputStream.write( 0x42 ); // B fileOutputStream.write( 0x43 ); // C // to.txtには「ABC」と出力されているはずです。 // このように、バイナリーデータを出力することができます。 } catch( IOException e ) { // ファイルが無かった場合等に、この // IOException例外が投げられます。 e.printStackTrace(); } finally { // ファイルを扱ったら、最後にclose()メソッドを呼んで // 後処理をします。また、これは必ず行うため、 // finally内で行います。 try { if( fileOutputStream != null ) { fileOutputStream.close(); } } catch( IOException e ) { e.printStackTrace(); } } } }