- - PR -
エンコードについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 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; } 以上よろしくお願いします。 |
|
投稿日時: 2007-09-06 00:04
FileReaderではエンコーディングの指定ができませんので、
FileInputStreamを使用してみてはいかがでしょうか。 FileInputStreamをInputStreamReaderでラップすると、 コードを大きく変える必要は在りません。 |
|
投稿日時: 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; } |
|
投稿日時: 2007-09-06 16:38
お世話になっております。
自スレです。 解決しました。 そもそもその対象のHTMLファイルがUTF-8で記述されていることを見落としていました。 エンコードをUTF-8にしたところ正常に動作しました。 ご迷惑をお掛けして申し訳ありませんでした。 |
1