![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
gr0shik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 22.10.2009 Репутация: нет Всего: нет |
Вообщем, вот часть проги( слегка утрированная, но принцип этот)
LineNumberReader StartFile= new LineNumberReader(new BufferedReader(new FileReader("test"))); PrintWriter EndFile=new PrintWriter(new OutputStreamWriter(new FileOutputStream("test2"))); .......................................... Line=StartFile.readLine(); Line=new String(Line.getBytes("Cp1251"),"Cp866"); if(Line.endsWith("тест")) EndFile.println(Line); Короч все работает, файл пишется. Но вместо буквы Ш знак ?. В нете все облазил, видел описание проблемы, а решения так и не нашел( Как это побороть? ЗЫ Я новичек в этом, мудренные фразы мне чужды) |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Вот такой ереси в программе вообще не должно быть! Если тебя надо прочитать файл в одной кодировке и записать в другой, то надо не строку кодировать/раскодировать, а правильно указывать кодировку для Reader/Writer. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
gr0shik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 22.10.2009 Репутация: нет Всего: нет |
Убрал преобразование.
Сделал вообще так- Line=StartFile.readline(); EndFile.println(Line); То есть записываю то, что прочитал- И снова вместо Ш знак вопроса( |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Все копируется без проблем. Скорее всего нужно просто явно указать кодировку в которой читать и писать данные и проблема решится. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 40 Всего: 75 |
Знак вопроса вместо "Ш" появляется в том случае, если вы читаете в кодировке 1251 данные, которые были записаны в 866.
Приведите, пожалуйста, побольше кода, особенно создание входных/выходных потоков интересует и пример входного файла прикрепите, а то с телепатией у меня сегодня туго. -------------------- Opinions are like assholes — everybody has one |
|||
|
||||
gr0shik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 22.10.2009 Репутация: нет Всего: нет |
LSD Большое спасибо за пример, но мой аналогичный. И как не странно не работает(
Буквы Ш я не вижу. Фар показывает вин кодировку, НО если файл для считывания написать САМОМУ с буквой Ш, то в и дос и в вин кодировке все работает( создал файл с буквами Ш и пропустил через прогу), я вижу букву Ш. Но надо считать уже готовый. А вот после его обработки буквы Ш нету. Что-то с файлом может не то? Я прикреплю часть файла) Сорри за конспирацию- служебные данные, но буква Ш в нем есть и попробуйте пропустить через свою прогу этот файл) Это сообщение отредактировал(а) gr0shik - 30.3.2010, 14:07 Присоединённый файл ( Кол-во скачиваний: 11 ) ![]() |
|||
|
||||
gr0shik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 22.10.2009 Репутация: нет Всего: нет |
Короч проблема в большой букве Ш( 98-код), записаной в ДОС кодировке.
Нашел прогу в консоли перегоняет кодировку в нужную, перегнал в вин и все заработало нормуль! Буква Ш как буква Ш. Это сообщение отредактировал(а) gr0shik - 30.3.2010, 16:16 |
|||
|
||||
LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
gr0shik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 22.10.2009 Репутация: нет Всего: нет |
Большое спасибо)
Так куда лучше |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |