我的项目必须读取以UTF-8编码的文本文件。
当我在NetBeans中运行我的程序时,一切正常,并且正确地从文件中读取字符。但是,当我运行我的.exe
打包程序时,字符不是它们应该是的。
我的代码:
BufferedReader br = new BufferedReader(new FileReader("D:\\sa\\shlah.txt" ));
String s = br.readLine();
答案 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);