2009-07-30 16 views
1

タイ文字を含むRTFファイルを読み込んでテキストファイルに書き込む必要があります。私はTIS-620、MS874、ISO-8859-11を使ってみましたが、結果の出力ファイルをメモ帳やテキストパッドで開くと、タイ文字が正しく表示されません。しかし、それはワードパッドでうまくいく。私を案内してください。タイ文字の文字エンコーディング

ありがとうございました。 Ramya。

問題を解決したコード(それは読みやすくするためにここに追加して、コメントに投稿!):

FileInputStream fin = new FileInputStream(fileName); 
DataInputStream din = new DataInputStream(fin); 
//creating a default blank styled document 
DefaultStyledDocument styledDoc = new DefaultStyledDocument(); 
//Creating a RTF Editor kit 
RTFEditorKit rtfKit = new RTFEditorKit(); 
//Populating the contents in the blank styled document 
rtfKit.read(din,styledDoc,0); 
// Getting the root document 
Document doc = styledDoc.getDefaultRootElement().getDocument(); 
//Printing out the contents of the RTF document as plain text 
System.out.println(doc.getText(0,doc.getLength())); 
+1

出力ファイルもRTFですか? –

+0

出力ファイルはテキストファイルではありません。 下記のコードで問題を解決しました。 –

答えて

0

私は少しグーグルから、メモ帳は、すべての文字エンコーディングを処理しないと思います。メモ帳が正しく処理するので、文字をUTF-8(またはその他のユニコード形式)に再エンコードしてみることができますか?あなたはwant to use the BOMになります。

また、私はtool for converting files in Thaiをさまざまな他のエンコーディングに遭遇しました。

最後に、メモ帳でファイルを開くことができるという要件がありますか?これは、メモ帳がテキスト編集の最後の単語であるかのようではありません。

+0

FileInputStream fin =新しいFileInputStream(ファイル名); DataInputStream din =新しいDataInputStream(fin); //デフォルトの空白スタイルの文書を作成する DefaultStyledDocument styledDoc = new DefaultStyledDocument(); // RTFエディタキットを作成する RTFEditorKit rtfKit =新しいRTFEditorKit(); //空白スタイルのドキュメントに内容を取り込む rtfKit.read(din、styledDoc、0); //ルートドキュメントを取得する ドキュメントdoc = styledDoc.getDefaultRootElement()。getDocument(); // RTFドキュメントの内容をプレーンテキストとして出力する System.out.println(doc.getText(0、doc.getLength())); –

+0

これはどのようにして問題を解決しましたか?これはファイル出力ストリームのエンコーディングでは何もしません! –