- PR -

StringReaderの内容をファイルに落としたい。

1
投稿者投稿内容
hiro-ta
ベテラン
会議室デビュー日: 2003/09/03
投稿数: 79
投稿日時: 2004-11-08 12:18
いつも御世話になっております。

StringReaderの内容をファイルに落としたいと思い、以下のようなソースを書いてみたのですが、Stringの内容がUTF-8エンコーディングの場合に日本語が文字化けしてうまくいきません。
どうすればファイルにできるでしょうか?

reader = new StringReader(outStr);
FileWriter osw = new FileWriter(new File("c:\\work\\test.txt"));
char[] buf = new char[8192];
int len;
while((len = reader.read(buf, 0, 8192)) != -1)
osw.write(buf, 0, len);
osw.close();
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2004-11-08 12:30
FileWriterをOutputStreamWriteでwrapしてあげればよさそう。

コード:
OutputStreamWriteosw = new OutputStreamWrite(
  new FileWriter(new File("c:\\work\\test.txt")), "SHIFT_JIS");



# エンコード名は自信がありません。 こんな感じでということで。
hiro-ta
ベテラン
会議室デビュー日: 2003/09/03
投稿数: 79
投稿日時: 2004-11-08 14:36
FileOutputStream os3 = new FileOutputStream("c:\\work\\test.txt");
OutputStreamWriter osw = new OutputStreamWriter(os3, "UTF-8");

↑ですね。
うまくいきました。ありがとうございます。
1

スキルアップ/キャリアアップ(JOB@IT)