在读文件时直接用new InputStreamReader(new FileInputStream(file))就会产生一个很难查的问题:在eclipse或其他IDE里运行的结果和打成jar包的运行结果不一致。
这是由于没有指定编码格式导致的,切记不论读取什么文件,都要加上对应的编码格式。正确示例如下:
new InputStreamReader(new FileInputStream(file), “UTF-8”)
容易忽略的是eclipse和其他IDE里默认设置了字符集为UTF-8,但是打包之后的系统字符环境则无法确定,中文系统会默认为GBK编码。
问题表现:文件读取乱码,文件读取失败,尤其是文件中含有中文的时候