- PR -

エンコードについて

1
投稿者投稿内容
Mountain
会議室デビュー日: 2004/07/20
投稿数: 11
投稿日時: 2007-09-05 20:56
いつもお世話になっています。
現在、HTMLEditorKitを用いてHTMLファイルに記述されているコメント行を抽出する処理
を作成しておりますが(※下記参照)取得したコメントが文字化けを起こしてしまいます。
エンコードをこころ見ましたが解消されず苦心しております。
ご教授いただけると幸いです。

<環境>
eclipse3.2
JDK 1.4.11
Tomcat5.0
struts1.2.9

<作成したメソッド>
private String getList(String fileName) t {
// 指定されたファイルを解析し連携項目を取得する
BufferedReader in = new BufferedReader(new FileReader(fileName));
String Item = getItemList(in);
in.close();
return Item;
}

private String getItemList(Reader inFile) throws IOException {
final List ItemList = new ArrayList();
ParserDelegator p = new ParserDelegator();
p.parse(inFile, new HTMLEditorKit.ParserCallback() {
// コメント行を取得
public void handleComment(char[] data, int pos) {
String stringdata = new String(data);
System.out.println(stringdata);
}
}, true);
return stringdata;
}

以上よろしくお願いします。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-09-06 00:04
FileReaderではエンコーディングの指定ができませんので、
FileInputStreamを使用してみてはいかがでしょうか。

FileInputStreamをInputStreamReaderでラップすると、
コードを大きく変える必要は在りません。
Mountain
会議室デビュー日: 2004/07/20
投稿数: 11
投稿日時: 2007-09-06 15:21
ご回答ありがとうございます。
返信がおくれまして申し訳ありませんでした。
早速ためしてみました。(※下記参照)
ですがどうもうまくいきません。
全角文字が文字化けをしてしまいます。

他のサイトを見てみたのですが↓
http://www.geocities.jp/katasumi_net/java06.html
特にエンコードの指定はないように思われます。
申し訳ありませんが引き続きご助言をいただけると幸いです。

<作成したメソッド>
private String getList(String fileName) t {
// 指定されたファイルを解析し項目を取得する
InputStreamReader isr =
new InputStreamReader(new FileInputStream(fileName), "EUC_JP");
BufferedReader in = new BufferedReader(isr);
String Item = getItemList(in);
in.close();
return Item;
}

private String getItemList(Reader inFile) throws IOException {
final List ItemList = new ArrayList();
ParserDelegator p = new ParserDelegator();
p.parse(inFile, new HTMLEditorKit.ParserCallback() {
// コメント行を取得
public void handleComment(char[] data, int pos) {
String stringdata = new String(data);
System.out.println(stringdata);
}
}, true);
return stringdata;
}
Mountain
会議室デビュー日: 2004/07/20
投稿数: 11
投稿日時: 2007-09-06 16:38
お世話になっております。
自スレです。

解決しました。
そもそもその対象のHTMLファイルがUTF-8で記述されていることを見落としていました。
エンコードをUTF-8にしたところ正常に動作しました。

ご迷惑をお掛けして申し訳ありませんでした。
1

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