2016-06-03 4 views
0

Мой проект должен прочитать текстовый файл, который закодирован в UTF-8. Когда я запускаю свою программу в NetBeans, все в порядке, и символы читаются из файла правильно. Но когда я запускаю свою упакованную программу .exe, символы не то, что они должны быть.Не удается прочитать файл UTF-8 после упаковки Проект JavaFX

Мой код:

BufferedReader br = new BufferedReader(new FileReader("D:\\sa\\shlah.txt")); 
String s = br.readLine(); 

ответ

0
BufferedReader br1 = new BufferedReader(
       new UTF8Reader(new FileInputStream(shlahFile))); 

выше код использует UTF8reader, которые делают свою работу, даже если вы упакованную программу.

+0

Вы могли бы пошел, чтобы избежать UTF8Reader, как всегда есть предупреждение, что это внутренний апи и может быть удален в будущем – user4790067

0

Я предполагаю, что это проблема с различными кодировками по умолчанию ...

Указание кодировки для использования необходимо устранить проблему. Это возможно без использования внешних библиотек с помощью Files.newBufferedReader:

BufferedReader br = Files.newBufferedReader(new File("D:\\sa\\shlah.txt").toPath(), StandardCharsets.UTF_8);