天天看點

Invalid byte 1 of 1-byte UTF-8 sequence(XML讀取異常)

XML讀取異常Invalid byte 1 of 1-byte UTF-8 sequence.

用xstream進行JavaBean與xml之間的轉換,無法設定字元集編碼格式,會導緻上述異常。

解決方法:org.w3c.dom(java dom)解析xml文檔,在此僅列出write方法:

1 public static void write(String xmlFile, String encoding)
 2             throws ParserConfigurationException, FileNotFoundException,
 3             TransformerException, UnsupportedEncodingException {
 4         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
 5         DocumentBuilder builder = factory.newDocumentBuilder();
 6         Document document = builder.newDocument();
 7         Element root = document.createElement("sememewords");
 8         document.appendChild(root);
 9 
10         Element e = document.createElement("sememeword");
11         e.setTextContent("java dom Test");
12         root.appendChild(e);
13 
14         TransformerFactory tf = TransformerFactory.newInstance();
15         Transformer transformer = tf.newTransformer();
16         DOMSource source = new DOMSource(document);
17         transformer.setOutputProperty(OutputKeys.ENCODING, "utf8");
18         transformer.setOutputProperty(OutputKeys.INDENT, "yes");
19         PrintWriter pw = new PrintWriter(
20                 new BufferedWriter(new OutputStreamWriter(new FileOutputStream(
21                         xmlFile), encoding)));
22         StreamResult result = new StreamResult(pw);
23         transformer.transform(source, result);
24         pw.flush();
25         pw.close();
26     }      

轉載于:https://www.cnblogs.com/MaNog/p/3816759.html