程序在eclipse中运行时检测字符串,但是从jar运行时检测不到(可能的编码问题)

时间:2015-08-03 14:33:58

标签: java string encoding utf-8

我有一个程序从一个位置抓取一些字符串并将它们放在一个列表中。我还有一个从文件加载的“排除列表”。如果当前字符串在排除列表中,则会被忽略。

在我的排除列表文件中,我有这个字符串: Something ›

注意,这不是典型的尖括号。这是一个特殊字符(dec值为8250)

当我在Eclipse中运行它时,一切都运行良好。我的程序看到Something ›在排除列表中并忽略它。但是,当我将程序作为jar构建并运行时,Something ›不会被忽略。其他一切都很好,只是一个字符串。

我假设它是因为,这意味着它必须与编码相关。但是,我将文本文件保存为UTF-8(没有BOM),我的eclipse也配置为UTF-8。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这似乎解决了这个问题。我改变了加载文本文件的方式:

Scanner fileIn = new Scanner(new File(filePath));

Scanner fileIn = new Scanner(new FileInputStream(filePath), "UTF-8");