| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > проблема с кодировкой, при работе с InputStream |
| Автор: 4epT 20.4.2009, 23:34 | ||||
| Добрый вечер! Ситуация такая ... пишу в файл строки, символы русские. Вот метод которые собственно и записывает:
А вот метод который читает из файла:
Считывают иероглифы (( хотя в файле все записано нормально .... Кто может подсказать что не так делаю ? |
| Автор: can4ec 21.4.2009, 03:04 | ||||
| привет! Ошибка в чтении данных из файла. sb.append((char)tmp); В твоем случае получается что считаный байт просто скопируется в char. Такому копированию соответствует кодировка ISO-8859-1 (которая один в один соответствует первым 256 значениям Unicode), а значит, можно считать, что этот код просто использует её (вместо той, в которой реально закодированы символы в оригинальных данных). Как вариант предлагаю:
Так же лучше сделать чтобы считывал массив байт, а не по одному. При записи в ByteArrayOutputStream можно указать с какого байта считывать из массива.
|
| Автор: 4epT 21.4.2009, 06:57 |
| Спасибо, все получилось!!! )) |