Считайте unicode текстовые файлы с Java

Честно говоря, это отличное предложение для команды Visual Studio, владеющей NuGet. Мне бы очень хотелось, чтобы TFS понимала зависимости NuGet и обрабатывала их соответствующим образом для разработчиков, участвующих в проекте, и для серверов сборки, желающих компилировать с использованием зависимостей NuGet.

12
задан Ron Tuffin 11 June 2009 в 08:16
поделиться

3 ответа

вы бы не оборачивали Reader, вместо этого вы бы обернули поток, используя InputStreamReader. Затем вы можете обернуть это своим BufferedReader, который вы в настоящее время используете

BufferedReader in = new BufferedReader(new InputStreamReader(stream, encoding));
16
ответ дан 2 December 2019 в 05:04
поделиться

Проверить http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStreamReader.html

Я бы прочитал исходный файл с что-то вроде:

Reader in = new InputStreamReader(new FileInputStream("file"), "UTF-8"));
8
ответ дан 2 December 2019 в 05:04
поделиться

Некоторые примечания:

  • кодировка «UTF-16» может читать файлы с прямым или обратным порядком байтов, помеченные BOM ; см. здесь для получения списка кодировок Java 6; явно не указано, какой порядок байтов будет использоваться при записи с использованием "UTF-16" - это похоже на прямой порядок байтов - поэтому вы можете использовать "UnicodeLittle" при сохранении данных
  • будьте осторожны при использовании кодирования класса String методы / decode, особенно с помеченной кодировкой переменной ширины, такой как UTF-16 - , используют их только для всех данных
  • , как говорили другие, часто лучше читать символьные данные, заключив свой InputStream в InputStreamReader ; вы можете объединить введенные вами данные в одну строку, используя StringBuilder или аналогичный буфер.
7
ответ дан 2 December 2019 в 05:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: