Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > изменение кодировки для коллекции документов |
Автор: iraidaaa 18.4.2013, 19:01 |
Здравствуйте, скажите,пожалуйста,возможно ли в программе осуществить изменение кодировки файлов?! Допустим, у меня есть папка с документами разных форматов(doc, html, pdf), нужно, чтобы все документы папки стали в кодировке UTF-8. |
Автор: Samotnik 18.4.2013, 22:08 |
Слишком общее задание, но в теории можно, почему нет. Вопрос в выборе инструмента и на сколько удобно/быстро это будет работать. В любом случае, всегда можно вычитать файл в стрим, изменить кодировку и положить стрим обратно, либо создать новый файл. |
Автор: iraidaaa 19.4.2013, 04:11 |
Samotnik, вот смотрите, я преобразовываю в сисмвольный поток InputStreamReader и меняю кодировку, каким образом мне потом обратно в файлы преобразовать? |
Автор: math64 19.4.2013, 10:14 | ||||
Открываешь InputStreamReader в одной кодировке, считываешь (преобразуется в Unicode), открываешь OutputStreamReader в другой и переписываешь записанное. Но трудности с тем, что нужно ещё заменить кодировку в заголовке в html:
и в xml:
|
Автор: iraidaaa 19.4.2013, 10:47 |
math64, вы имеете ввиду ,что у html-файлов я таким образом не смогу поменять кодировку?! |
Автор: math64 19.4.2013, 10:54 |
Я имею в виду, что кроме замены кодировки, нужно искать объявление кдировки в файле и заменять название кодировки. |
Автор: iraidaaa 19.4.2013, 11:06 |
math64, ммм, понятно..но это реально осуществить? |
Автор: math64 19.4.2013, 22:13 |
Конечно, реально. Считываешь весь файл в строку и ищешь информацию о кодировке с помощью regexp, например. Заменяешь и записываешь в новой кодировке. Другой вопрос, если во входном файле есть символы, которые отсутствуют в выходной кодировке. Их нужно заменять на &#nnn; - сложнее, но тоже решаемо. |
Автор: iraidaaa 21.4.2013, 13:52 | ||
Я пока просто пробую менять кодировку txt файлов вот таки образом
Но почему-то в консоли отображаются квадратики, а если я делаю построчный вывод в файл, то отображаются ромбики с вопросами....В чем может быть проблема??? |
Автор: iraidaaa 21.4.2013, 14:57 | ||
переписала вот так, всё нормально выводит
|
Автор: iraidaaa 21.4.2013, 17:12 |
Я решила просто doc сохранить в txt; но теперь возникла другая проблема...при построчном чтении пропускаются строки, с чем это может быть связано??? |
Автор: iraidaaa 22.4.2013, 06:00 |
dorogoyIV, когда я делала цикл с предусловием, то происходила ошибка после считывания последней строки |
Автор: math64 22.4.2013, 07:45 | ||
Консоль по умолчанию использует кодировку 866. Переведите её в 1251 или сохраняйте в файл. |
Автор: iraidaaa 22.4.2013, 07:57 |
math64 , с этим я уже справилась.Но теперь другая проблема: Я решила просто doc сохранить в txt; но теперь возникла другая проблема...при построчном чтении пропускаются строки, с чем это может быть связано??? |
Автор: math64 22.4.2013, 14:55 |
doc это документ Microsoft Word ? Тогда для его чтения нужна спец. библиотека. что нибудь типа poi.apache.org |