文件编码导致的sun。io。MalformedInputException异常如果你没有使用ibm的jdk,却依然遇到了这个问题。如果你的异常是在解析xml的时候出现的,如果你的异常是某些地方有某些地方没有。例如tomcat里面没有,weblogic上有。

抑或这个domain有那个domain却没有。而确实是同一个应用。哪么你遇到的可能和笔者要讲的是同一个问题。你的xml文件本身是UTF-8编码(注意是文件是UTF-8编码,不是xml文件里面指定的文件内容是UTF-8编码)?你的xml文件里面含有中文?你使用UltraEdit编辑xml文件?删掉中文,问题依旧?那么可以肯定你的问题就是笔者要讲的问题首先给出解决方案:方案一:1。

xml用记事本打开,删除里面的中文。2。在windows 本地新建一个txt文件,用记事本(注意不能用UltraEdit)打开。3。将xml里面的内容复制到新建的txt文件中。4。将txt文件重名为xml文件的名称。覆盖原来的xml文件5。看看问题是不是解决了,咔咔 神奇吧。

方案二:(适用于使用eclipse ide的程序员们,其他的能更改文件编码的程序也行,不过没测试过)1。将xml文件的内容剪切出来,保存在别处,什么文件都行,最后是txt中。留下一个空的xml文件2。将空的xml文件的编码修改成GBK。注意是文件的编码,不是xml的那个声明。

当然这里已经删了。3。这时候是否看到文件的头部有乱码? 删之!4。将原来文件的内容烤回来5。ok问题解决,这种方法不用删除中文。问题的根源:估计有些人已经明白是什么原因了。呵呵,那就是xml文件那个BOM的头导致的这个问题!哦?还有没明白的?下面详细说明下:xml文件分为两种,一种是有BOM信息的,它表示文件是xml格式另外还有没有BOM信息的xml文件。

就是这个特殊的BOM信息导致了解析xml出错。那跟UltraEdit有什么关系?UltraEdit在编辑xml文件的时候会自动加上这个可恶的BOM信息。