Javaで文字コードを指定してファイル出力をする際に以下のようなプログラムを書くかと思います。
Java
1 OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("sample.txt"), "SHIFT-JIS"); 2 BufferedWriter bf = new BufferedWriter(osw); 3 4 bf.write("hello world"); 5 6
BufferedWriterの役割は理解しているつもりなのですが、FileOutputStreamとOutputStreamWriterの役割がいまいちわかっていません。
以下、質問です。
①FileOutputStreamとOutputStreamWriterそれぞれがどのような役割か詳しく教えて頂きたいです。
②FileOutputStreamはバイトコードの書き込みと調べました。通常テキストファイルはFileWriterを使うものと認識していますが、どちらを使用してもよいのでしょうか。
ちなみに自分の認識は以下の通りです。
・FileOutputStream : 文字ストリームからバイトストリームへの変換を担っている?
・OutputStreamWriter : 変換したバイトストリームを、指定した文字コードでのバイトストリームに変換?