org.xml.sax.SAXParseException: Content is not allowed in trailing section.

来源:互联网 发布:怎么把mysql删除干净 编辑:程序博客网 时间:2024/06/03 05:03

<个人总结,仅作参考!>

 

The exception as following :

 

[Fatal Error] server.msdk.perf.all.xml:192:1: Content is not allowed in trailing section.

org.xml.sax.SAXParseException: Content is not allowed in trailing section.

at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)

at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)

at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)

...

...

 

当出现这个问题的时候,check 一下要parse的文件,看这个文件是否正确,一般情况下这个文件是有问题的,特别是这个文件如果是通过代码生成的,请查看这个文件的正确性,可能这个文件的最后多了一个空格,或者在文件的结尾处出现不正确的标签。

 

Addition:

 

在使用java stream读写文件的时候,如果采用的是每次从inputStream中read 一个有固定大小的byte array时,这时候在

 

byte[] array = new byte[1024];

BufferedInputStream buffInput = new BufferedInputStream(inputStream);

FileOutputStream fileOS = new FileOutputStream(targetFile);

BufferedOutputStream buffOS = new BufferedOutputStream(fileOS);

int word = 0;

while ((word = buffInput.read(array)) != -1){

buffOS.write(array);

}

 

这样可能导致在最后一次read到array中不足1024的时候,前一次read的byte同样会出现在byte[]中,所以最好采用

 

BufferedInputStream buffInput = new BufferedInputStream(inputStream);

FileOutputStream fileOS = new FileOutputStream(targetFile);

BufferedOutputStream buffOS = new BufferedOutputStream(fileOS);

int word = 0;

while ((word = buffInput.read()) != -1){

buffOS.write(word);

}

 

 

原创粉丝点击