Java FileWriter的默认字符集问题和JDK文件系统的错误

最近用dom4j编写了个读写DOCX文档的GUI小程序。在Netbeans中,运行后,输出XML文件无乱码。

封装成JAR包发布后,发现输出XML文件中缺失中文。

经过反复检查代码,最后发现:

XMLWriter writer=new XMLWriter(new FileWriter(new File(tempFile)));

中,使用FileWriter输出的文件未采用UTF-8格式。

换成

XMLWriter writer=new XMLWriter(new OutputStreamWriter(
    new FileOutputStream(tempFile), "UTF-8"));

后,问题解决。


另外,采用JDK7的ZIP文件系统后,无法关闭ZIP文件系统,报无法读取文件错误(No permission),经反复查询:

最后,在函数体内部关闭输入流,in=null;然后强行执行垃圾收集 System.gc()后,问题解决。


你可能感兴趣的:(JAVA文件操作,java)