org.xml.sax.SAXParseException: Content is not allowed in trailing section
2019獨角獸企業重金招聘Python工程師標準>>>
org.xml.sax.SAXParseException: Content is not allowed in trailing section 博客分類: 異常 ?總結一下,這個問題主要出現的原因有兩點。
?
1、XML內容不正確,比如多個空格,換行等等。需要仔細排查;
2、使用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[]中,從而導致XML解析失敗。因此可以采用下面的方法:
?
?
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);
}
轉載于:https://my.oschina.net/xiaominmin/blog/1599497
總結
以上是生活随笔為你收集整理的org.xml.sax.SAXParseException: Content is not allowed in trailing section的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Kubernetes Pod中使用Se
- 下一篇: css案例学习之按钮超链接