使用java写了一个小程序,就是读取php文件的内容,然后使用xls里面对应的字符串执行替换操作。但是,最后出现了一下点小问题。

再NB IDE里面可以正常的运行。但是当我使用NB 打包成jar,直接运行该jar的时候 就出现中文乱码问题了。

所有的乱码问题,都是因为编码不一致导致的。debug了一下,原来是因为在读取操作的时候,读取出来的内容已经是乱码了。问题找到了,解决方案就

比较好找了。因为文件是utf-8,所以为了保证不再出现乱码问题,读取的时候直接强制按照utf-8的方式读取就行了


BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(fileName),"UTF-8"));

String line = null;

while ((line = br.readLine()) != null) {

lines.add(line);

}

br.close();

 

java读取文本文件的时候出现中文乱码问题,写入的时候也一样会出现这样的问题,写入的时候,也强制设定好编码方式就ok了。


Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(descFile), "UTF-8"));
 writer.write(contents);
 writer.flush();
 writer.close();

出现了问题不要着急,慢慢的来。先想想为什么会出现这样的问题。然后慢慢的debug。最终问题总会可以解决掉的。

参考:

http://blog.csdn.net/greenqingqingws/article/details/7395213

http://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/

http://hi.baidu.com/annleecn/blog/item/154770ed900738db2e2e2151.html

http://sd8089730.iteye.com/blog/1290895

http://www.360doc.com/content/07/0403/09/16749_427888.shtml