Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Попробуйте прочесть мой файл моим кодом / 7 сообщений из 7, страница 1 из 1
06.04.2013, 18:21:12
    #38215550
moldis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Попробуйте прочесть мой файл моим кодом
Мой код для чтения файла:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(tnpFl.getPath()), Charset.forName("cp1251")));
        String line = null;
        StringBuffer data = new StringBuffer();
        while ((line = br.readLine()) != null) {
            
            String UTF8Str = new String(utf8Bytes,Charset.forName("UTF-8"));
            System.out.println(UTF8Str);           
        }



Выводит ?????
Если делаю такой код (проверяю кодировку файла):
Код: java
1.
2.
3.
InputStreamReader reader = new InputStreamReader(new FileInputStream(tnpFl.getPath()));
CharacterDetector det = CharacterDetector.getInstance();
System.out.println(reader.getEncoding());


При том, что я пытаюсь выводить как в консоль так и в JTable, да и в принципе в любой компонент Swing
Выводит "cp1251", т.е. читаю файл я в правильной кодировке, вот только почему неверно выводит не пойму :(
Вот файл - обычный текстовый
http://webfile.ru/6464297
...
Рейтинг: 0 / 0
06.04.2013, 19:20:55
    #38215591
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Попробуйте прочесть мой файл моим кодом
moldis,

Что за переменная utf8Bytes ?
...
Рейтинг: 0 / 0
06.04.2013, 19:30:11
    #38215595
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Попробуйте прочесть мой файл моим кодом
moldis,

Код: java
1.
2.
3.
while ((line = br.readLine()) != null) {
    System.out.println(line); // line уже преобразован из cp1251 в utf-8
}
...
Рейтинг: 0 / 0
06.04.2013, 19:57:19
    #38215605
moldis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Попробуйте прочесть мой файл моим кодом
Извиняюсь, не весь код выложил
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
        BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(tnpFl.getPath()), Charset.forName("cp1251")));
        String line = null;
        StringBuffer data = new StringBuffer();
        while ((line = br.readLine()) != null) {

            data.append(line).append("\n");

System.out.println(data.toString());
        }



К сожалению, даже без моего преобразования символы не верные :(
...
Рейтинг: 0 / 0
06.04.2013, 21:04:33
    #38215635
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Попробуйте прочесть мой файл моим кодом
Сходу несколько замечаний.

1) Так properties нельзя делать. У файла должно быть другое расширение.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
dwEnrollNumber=3303
Name=Богомаз А О
Password=3333
Privilege=2
Enabled=1
;
dwEnrollNumber=11
Name=Гаврилина М В
Password=
Privilege=0
Enabled=1



2) Что такое CharacterDetector det = CharacterDetector.getInstance() ? Это не входит
в JDK. И обсуждение его нужно начать со ссылки на авторский сайт.
Это оно? http://code.google.com/p/cusp/source/browse/jasko.tim.lisp/src/jasko/tim/lisp/editors/CharacterDetector.java?r=415
Кроме того непонятно как он связан с прочим кодом.

3) Файл создан в кодировке windows-1251. Мой блокнот его открывает корректно.
...
Рейтинг: 0 / 0
06.04.2013, 22:50:21
    #38215701
moldis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Попробуйте прочесть мой файл моим кодом
Здравствуйте!
по 2 пункту вы правы, код лишний

Мой блокнот тоже его открывает корректно, но исходный код, никак не хочет читать его правильно (
...
Рейтинг: 0 / 0
07.04.2013, 21:16:26
    #38216341
maxkar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Попробуйте прочесть мой файл моим кодом
moldis,

А как вы проверяете, что код читает неправильно? Может быть, он выводит неправильно (кодировка для консоли почему-то неправильно выставлена). Я запустил ваш второй вариант - нормально все выводится. Кодировка файла тоже правильная (cp1251). Еще можете коды символов в считанной строке проверить (через charAt, например).
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Попробуйте прочесть мой файл моим кодом / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]