2010年8月22日星期日

JAVA开发二三事(续一)

dom4j 写入 xml 文件汉字乱码的问题

1、代码:
XMLWriter xmlWriter = new XMLWriter(new java.io.FileWriter(path));

2、问题:
在集成开发环境下启动的程序,写入文件,汉字确实是utf-8,不乱码;但是在console控制台下启动的独立运行,汉字就是乱码了。

3、解决的方法:
代码改成:
XMLWriter xmlWriter = new XMLWriter(new java.io.FileOutputStream());
问题解决。

4、原因:
java.io.FileWriter 没有实现 ENCODING 相关的接口(该说法来源于网络),所以在集成开发环境都是utf-8的情况下,可以输出utf-8,但是在console控制台下,是GBK环境,写入的就不是utf-8了。即使设置了也不起作用。
java.io.FileOutputStream 是二进制的流,实现了相关接口,所以没有问题。

没有评论:

发表评论