Java備忘録① ~ファイル入出力と文字コード~

Java備忘録① ~ファイル入出力と文字コード~
「FileWriter」というテキストをファイルに書き出すクラスがあります。 Java初心者の僕は、なんとな~くこの「FileWriter」を使っていました。 それで問題なく動いていたからです。 が・・・。 この「FileWriter」、出力するファイルの文字コードセット指定ができないんですね~。 というか、OSのデフォルトのエンコード方式で自動変換されてしまいます。 文字コードを意識しないでいいという点は、一見便利なようにも思えますが、 かえって問題を引き起こす原因にもなりかねませんな~。 なので、普段から文字コードを意識してコーディングする方がよさそうですね。 というわけで、文字コードを指定する場合は、 「FileWriter」の代わりに「OutputStreamWriter」を使用するといいでしょう。 [java] // FileOutputStreamオブジェクト生成(出力ファイルの指定) FileOutputStream fo = new FileOutputStream("file.txt"); // OutputStreamWriterオブジェクト生成(文字コードの指定) OutputStreamWriter ow = new OutputStreamWriter(fo, "UTF-8"); // 書き出す内容をセット ow.write("Hello Work!!"); // ストリームの解放 ow.close(); fo.close(); [/java] こんな感じでしょうか。 ちなみに、「FileWriter」と同じようにファイル読み込み手続きを簡略化した 「FileReader」というクラスも文字コードが指定できません。 代わりに「InputStreamWriter」を使って云々かんぬんする必要があるワケですが・・・。 ま、便利なのも考えモノですね~、という初心者の感想ですです。 というわけで、今回はこれにて失礼。