我有一个程序从一个位置抓取一些字符串并将它们放在一个列表中。我还有一个从文件加载的“排除列表”。如果当前字符串在排除列表中,则会被忽略。
在我的排除列表文件中,我有这个字符串:
Something ›
注意,这不是典型的尖括号。这是一个特殊字符(dec值为8250)
当我在Eclipse中运行它时,一切都运行良好。我的程序看到Something ›
在排除列表中并忽略它。但是,当我将程序作为jar构建并运行时,Something ›
不会被忽略。其他一切都很好,只是一个字符串。
我假设它是因为›
,这意味着它必须与编码相关。但是,我将文本文件保存为UTF-8(没有BOM),我的eclipse也配置为UTF-8。有什么想法吗?
答案 0 :(得分:0)
这似乎解决了这个问题。我改变了加载文本文件的方式:
Scanner fileIn = new Scanner(new File(filePath));
到
Scanner fileIn = new Scanner(new FileInputStream(filePath), "UTF-8");