在J2EE开发中,用到DOM4J框架来读写XML文件,会出现一些列问题

1.当读取文件时,如果XML文件的编码不是UTF-8并且内容中包含中文字符,这会出现异常。org.dom4j.DocumentException: Invalid byte 2 of 2-byte UTF-8 sequence. Nested exception: Invalid byte 2 of 2-byte UTF-8 sequence.

具体解决办法,在写入文件时,用FileWriterWithEncoding类来实例化一个文件,如下:

 

OutputFormat format = OutputFormat.createPrettyPrint();

format.setEncoding(encoding);// 指定XML编码        

XMLWriter      writer = new XMLWriter(new FileWriterWithEncoding(file,Charset.forName(encoding)),format);