2009-07-30 3 views
1

У меня есть требование прочитать RTF-файл с тайскими символами и записать его в текстовый файл. Я попытался использовать TIS-620, MS874, ISO-8859-11, но тайские символы отображаются неправильно, когда я открываю результирующий выходной файл в блокноте или текстовой панели. Но он хорошо работает с Wordpad. Пожалуйста, направляйте меня.Кодировка символов для тайских символов

С уважением, 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

Нет выходного файла в текстовом файле. Мы решили проблему с кодом, указанным ниже. – 2009-07-30 10:50:53

ответ

0

Я не думаю, что блокнот обрабатывает все кодировки символов, из небольшого Googling. Не могли бы вы попробовать перекодировать символы в UTF-8 (или какой-то другой формат Unicode), так как Notepad правильно справляется с этим? Вы будете want to use the BOM.

Я также наткнулся на tool for converting files in Thai в различные другие кодировки.

И, наконец, есть ли требование открыть файлы в Блокноте? Это не похоже на то, что «Блокнот» является последним словом в редактировании текста.

+0

FileInputStream fin = новый FileInputStream (имя_файла); DataInputStream din = new DataInputStream (fin); // создание по умолчанию пустого стилизованного документа DefaultStyledDocument styledDoc = new DefaultStyledDocument(); // Создание набора RTF-редактора RTFEditorKit rtfKit = new RTFEditorKit(); // Заполнение содержимого в пустом стиле документе rtfKit.read (din, styledDoc, 0); // Получение корневого документа Документ doc = styledDoc.getDefaultRootElement(). GetDocument(); // Распечатка содержимого документа RTF в виде обычного текста System.out.println (doc.getText (0, doc.getLength())); – 2009-07-30 10:50:02

+0

Как это решить проблему? Это ничего не делает с кодировками потока вывода файлов вообще! –

Смежные вопросы