这个问题针对解决在eclipse中运行结果正常,但是在打包jar后运行结果出现错误的问题,尤其是有中文输入输出的时候错误更加明显的情况,很可能读者遇见和笔者一样诡异的问题,就是在IO输入输出上对字符编码没有注意,导致在打包后jar文件用java虚拟机默认编码,而IDE工具可能自己之前设置过编码(像我就把eclipse设置成UTF_8的编码).而windows下java虚拟机默认编码一般是GBK,所以会导致中文系统完全失效.(笔者在做中文分词小系统,可想而知后果了…..eclipse中正确率还可以,打包后就成0了),所以,当遇见这种问题了以后,第一时间查一查是不是编码有问题.要记得输入输出调整为一个格式.
下面配两张我出问题的图:
上图在输入时选择了系统默认编码,应该改为:
String str = FileUtils.readFileToString(file,”UTF-8”);
这张图是输出时,选择了UTF-8的编码,结果一个小错误导致调试了好几天,分享出来希望可以对其他同学有帮助.
相关阅读:http://blog.csdn.net/chaijunkun/article/details/7624338