Wing的小站

  • 首页
  • IT新闻
  • 技术文章
  • 生活随笔
  • 休闲娱乐
  • 个人作品
  • 留言板
  • 关于博主
JavaFX,Unity3D,Android,IOS,技术教程,生活随笔
  1. 首页
  2. 技术文章
  3. 正文

dom4j保存XML中文编码问题:Invalid byte 1 of 1-byte UTF-8 sequence

2015年2月9日 3332点热度 0人点赞 0条评论

最近在更新我用JavaFX开发的地图编辑器,包含中文保存后打开读取XML会报错,错误大概是:Invalid byte 1 of 1-byte UTF-8 sequence。主要原因是保存的XML文件并非UTF-8编码,当然你可以手动用记事本打开然后另存为UTF-8编码的文件,不过每次手动会很麻烦。

后来才发现一个解决方法。

之前保存XML使用的是new XMLWriter(new FileWriter()),而FileWriter自身并未做编码处理,我们只需要使用FileOutputStrem即可。

代码如下:

Document map = createSaveDocument();
		XMLWriter writer;
		try {
			writer = new XMLWriter(new FileOutputStream(file));
			writer.write(map);
			writer.close();
			AlertDialog.showAlertDialog("保存地图完成!");
		} catch (IOException e1) {
			e1.printStackTrace();
			AlertDialog.showAlertDialog("保存地图出错:" + e1.getMessage());
		}

这样保存和读取XML文件都很正常。

标签: dom4j 中文编码
最后更新:2017年4月14日

wing1314

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2023 Wing的小站. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鄂ICP备17006951号-1

42011102000591