目前我正在使用
阅读.txt文件 FileInputStream is = new FileInputStream(masterPath+txt);
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String readLine = null;
while ((readLine = br.readLine()) != null)
{
...
但是unicode字符不会出现。
如何改变上面的代码,让unicode工作?
谢谢!
答案 0 :(得分:6)
是。在构造InputStreamReader时指定适当的编码。如果您的文件是UTF-8编码,请使用
new BufferedReader(new InputStreamReader(is, "UTF-8"));
答案 1 :(得分:2)
普通InputStreamReader
构造函数将假定该文件具有系统的“默认编码”。因为它是相当不可预测的,除了玩具示例之外,不应使用此构造函数。使用允许您明确指定编码的双参数构造函数之一。
顺便说一句,“Unicode”不足以说明您要阅读的文件中的内容。 Unicode本身定义了如何将数字(“代码点”)分配给字符,而不是如何将这些数字打包成文件中的字节,这是“编码”的工作。实际上,您的编码可能是UTF-8或UTF-16或某些字节顺序。
答案 2 :(得分:1)
也许你的文件不是unicode编码的,或者你显示它的方式不符合unicode(Windows cmd.exe,我在看你)。