打包JavaFX项目后无法读取UTF-8文件

时间:2016-06-03 07:01:03

标签: javafx utf-8 character-encoding package java-io

我的项目必须读取以UTF-8编码的文本文件。 当我在NetBeans中运行我的程序时,一切正常,并且正确地从文件中读取字符。但是,当我运行我的.exe打包程序时,字符不是它们应该是的。

我的代码:

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

2 个答案:

答案 0 :(得分:0)

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

上面的代码使用UTF8reader即使你打包了程序也能完成它的工作。

答案 1 :(得分:0)

我想这是一个不同默认编码的问题......

指定要使用的编码可以解决您的问题。使用Files.newBufferedReader

可以在不使用外部库的情况下实现这一点
BufferedReader br = Files.newBufferedReader(new File("D:\\sa\\shlah.txt").toPath(), StandardCharsets.UTF_8);