WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:Javaのファイル出力

0:[投稿] こねこ [2003/01/09 18:47 ][環境:IE6 Jsp]

Javaで下記のように文字列をファイルに出力していますが、出力された結果をテキストエディタで見るとファイルの先頭に無効な記号(・・)が表示されます。
この無効な記号がつかないようにファイルに出力するには、どのようにすればよいか教えて下さい。

例)
String output = "abc";
File fl = new File("C:\\test.txt");                DataOutputStream dosobj = new DataOutputStream(new FileOutputStream(fl));
dosobj.writeUTF(output);

[出力データ]
・・abc


1:[回答] hrm [2003/01/10 20:31 ]

良く知りませんが、Javaのドキュメントによると、
> void writeUTF(String str)
> 文字列を、マシンに依存しない UTF-8 エンコーディングを使っ
> た形式 にして基本となる出力ストリームに書き込みますまず、
> 最初の 2 バイトが writeShort メソッドと同じ方法で出力スト
> リームに書き込まれ、これがあとに 続くバイト数を示します。

って書いてあるんで、これでしょう。
このデータがないと、DataInputStreamの実装はreadUTFできないみたいですね。

長さのデータが不要・邪魔なら、
String output = "abc";
File fl = new File("C:\\test.txt");
OutputStream stream = new FileOutputStream(fl);
stream.write(output.getBytes("UTF-8"));

でいかが?


2:[完了] こねこ [2003/01/14 13:05 ]

hrmさんが教えてくれたコードの後にstream.close();を付け加えたらうまくできました。
どうもありがとうございました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World