![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
iraidaaa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 27.12.2010 Репутация: нет Всего: нет |
Здравствуйте, скажите,пожалуйста,возможно ли в программе осуществить изменение кодировки файлов?! Допустим, у меня есть папка с документами разных форматов(doc, html, pdf), нужно, чтобы все документы папки стали в кодировке UTF-8.
|
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Слишком общее задание, но в теории можно, почему нет. Вопрос в выборе инструмента и на сколько удобно/быстро это будет работать. В любом случае, всегда можно вычитать файл в стрим, изменить кодировку и положить стрим обратно, либо создать новый файл.
|
|||
|
||||
iraidaaa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 27.12.2010 Репутация: нет Всего: нет |
Samotnik, вот смотрите, я преобразовываю в сисмвольный поток InputStreamReader и меняю кодировку, каким образом мне потом обратно в файлы преобразовать?
|
|||
|
||||
math64 |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Открываешь InputStreamReader в одной кодировке, считываешь (преобразуется в Unicode), открываешь OutputStreamReader в другой и переписываешь записанное.
Но трудности с тем, что нужно ещё заменить кодировку в заголовке в html:
и в xml:
|
||||
|
|||||
iraidaaa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 27.12.2010 Репутация: нет Всего: нет |
math64, вы имеете ввиду ,что у html-файлов я таким образом не смогу поменять кодировку?!
|
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Я имею в виду, что кроме замены кодировки, нужно искать объявление кдировки в файле и заменять название кодировки.
|
|||
|
||||
iraidaaa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 27.12.2010 Репутация: нет Всего: нет |
math64, ммм, понятно..но это реально осуществить?
|
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Конечно, реально. Считываешь весь файл в строку и ищешь информацию о кодировке с помощью regexp, например. Заменяешь и записываешь в новой кодировке.
Другой вопрос, если во входном файле есть символы, которые отсутствуют в выходной кодировке. Их нужно заменять на &#nnn; - сложнее, но тоже решаемо. |
|||
|
||||
iraidaaa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 27.12.2010 Репутация: нет Всего: нет |
Я пока просто пробую менять кодировку txt файлов вот таки образом
Но почему-то в консоли отображаются квадратики, а если я делаю построчный вывод в файл, то отображаются ромбики с вопросами....В чем может быть проблема??? |
|||
|
||||
iraidaaa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 27.12.2010 Репутация: нет Всего: нет |
переписала вот так, всё нормально выводит
|
|||
|
||||
iraidaaa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 27.12.2010 Репутация: нет Всего: нет |
Я решила просто doc сохранить в txt; но теперь возникла другая проблема...при построчном чтении пропускаются строки, с чем это может быть связано???
|
|||
|
||||
dorogoyIV |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 3 Всего: 46 |
||||
|
||||
iraidaaa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 27.12.2010 Репутация: нет Всего: нет |
dorogoyIV, когда я делала цикл с предусловием, то происходила ошибка после считывания последней строки |
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
||||
|
||||
iraidaaa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 27.12.2010 Репутация: нет Всего: нет |
math64 , с этим я уже справилась.Но теперь другая проблема:
Я решила просто doc сохранить в txt; но теперь возникла другая проблема...при построчном чтении пропускаются строки, с чем это может быть связано??? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |