今天在研究怎么将实体类转为document,花了一个下午,整体思路是先将实体类利用反射转化为xml字符串,再将字符串转化为InputStream流,再调用SAXDreader的read(InputStream in)方法获取document对象。
但是在实现过程中碰到了一个问题。
因为需要将xml字符串转化为InputStream流,我就先将xml字符串保存到一个文件中,再进行读取文件获得InputStream,感觉没毛病
但是在读取文件中,出现了乱码,打印了结果之后发现总是第一个字符出现乱码,网上查了资料发现是BOM这种类似头文件的东西。
刚开始我以为就是这玩意导致我读取乱码,其实不是。
原因就在于写入和读取的编码不一致