之前头头写了一个模板生成的东西,今天开发需要用到它来自动生成,没法生成了,自己写,有点麻烦,容易出错,想想还是调试一下那个问题吧。
简单描述一下这个问题,主要是一个解析xml的问题,一直报 :lineNumber: 1; columnNumber: 1; 文件提前结束,这个错误,但是看了文件还是有内容的,看看读取方法,如下:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(configXml); //其中InputStream configXml
这也是没问题的,在看这个configXml执行之前,发现:
程序中写的
String s = IOUtils.toString(configXml);
System.out.println(s);
原来通过这个方式打印了一下xml文件中的内容。
问题就出在这里,这个IOUtils.toString(configXml),读取完之后,那个InputStream的流的读取指针就到了底部,当执行builder.parse(configXml),发现没有读取到的内容了,所以就出现了,文件中有内容,确保第一行第一列没内容的问题。哈哈哈,就是这样,找问题,太费了。