Как я могу прочитать текстовый файл UTF-8 из банки, используя метод Java Class.getResourceAsStream ()? - PullRequest
0 голосов
/ 22 июня 2010

У меня есть файл UTF-8, хранящийся в файле jav jar.Я пытаюсь прочитать его, используя метод getResourceAsStream (), но читатель входного потока, возвращаемый функцией, использует кодировку по умолчанию, которая является ANSI под Windows.8 текстовый файл изнутри банки?

Ответы [ 2 ]

10 голосов
/ 22 июня 2010

Создайте InputStreamReader вокруг InputStream, указав UTF-8 в качестве кодировки.

Примечание: я не уверен, что вы подразумеваете под "читателем входного потока, который возвращается функцией, использует кодировку по умолчанию" - getResourceAsStream() возвращает InputStream, который читает двоичные данные , Это вовсе не читатель (имеющий дело с символьными данными).

0 голосов
/ 27 июня 2011

native2ascii может вам помочь.
он преобразует не-ascii символы в эквивалентные коды символов в вашем файле utf-8.
например;
native2ascii -encoding Cp1254 input_file.txt output_file.properties
наслаждаться ...

...