テキストファイルはJavaを使用してファイルオブジェクトとOutputStreamで作成されます。
Writer out = new BufferedWriter( new OutputStreamWriter( new FileOutputStream(file), "UTF-8")); out.write(lines); out.close();
この例では、ファイルオブジェクトを使用してファイルを作成します。 次に、OutputStreamWriterからWriterを作成し、エンコーディングをutf8に設定します。 ファイルの内容が書き込まれ、ライターが閉じられます。
import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.Writer; public class FileCreate { public static void main(String[] argv) { File file = new File("V:/tmp/test2.txt"); String lines = "Content of the file"; Writer out = null; try { out = new BufferedWriter( new OutputStreamWriter( new FileOutputStream(file), "UTF-8")); out.write(lines); } catch (IOException e) { e.printStackTrace(); }finally{ if( out != null ) try { out.close(); } catch (IOException e) { e.printStackTrace(); } } System.out.println("The file has been created."); } }
The file has been created.
OutputStreamWriterを作成するときは、作成されるファイルのエンコーディングをパラメータとして渡すことが重要です。 これにより、適切なエンコーディングが使用され、不確かさが許容されません。 ユニコード文字を書くときは非常に重要です。この方法では、エンコードされた文字列はファイルに書き込まれません。
ライターはメインのtry catchブロックの外側に作成されます。 こうすることで、finallyブロックを使用してライターが閉じられていることを確認できます。 ライターがtryブロックで定義され、catchの前で終了すると、プロセスの最後に書き込みが閉じられていることを確認する方法がありません。