FileWriterクラスはOutputStreamWriterクラスのサブクラスで、
文字ストリームをファイルに書き込むための簡易クラスです。
コンストラクタで指定したファイルがない場合は自動で作成されます。リードオンリー属性などの理由で書き込み
できない場合はIOExceptionが投げられます。
プラットフォームによってはファイルが開けない場合、同時に開けるファイル数が1つの場合
といった制限がありますので、プラットフォームがPCでない場合は注意が必要です。
デフォルトのエンコーディング以外の方法を使う場合は自分でバイトストリームを作り、
OutputStreamWriterとつなげる必要があります。この場合できれば、
OutputStreamWriterのサブクラスを作った方がよいでしょう。
頻繁にwriteメソッドを呼び出す場合、頻繁にエンコーディング作業が行われ効率が落ちます。
してがって、書き込む内容はバッファーしておき、適時エンコーディングを行うことが好まれます。
具体的には、OutputStreamWriterを後述するBufferedWriterにつなげます。
Writer out = new BufferedWriter(new FileWriter("file.txt"));
|
上記のようにすることで、バッファーにある程度たまった後にエンコーディングが行われ、
効率が向上します。
import java.io.FileWriter |
コンストラクタ |
FileWriter(File file) throws IOException
|
- fileを指定してFileWriterを作成します。
- 何かの理由で書き込めない場合はIOExceptionが投げられます。
|
|
FileWriter(String fileName) throws IOException
|
- ファイル名を指定してFileWriterを作成します。
- 何かの理由で書き込めない場合はIOExceptionが投げられます。
|
|
FileWriter(String fileName, boolean append) throws IOException
|
- ファイル名を指定してFileWriterを作成します。
- appendがtrueの場合はファイルの先頭ではなく追記モードになり、falseの場合は既存のファイルをからにして書き込みを行います。
- 何かの理由で書き込めない場合はIOExceptionが投げられます。
|
|