<个人总结,仅作参考!>
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);
}