讀XML的時候可能遇到讀完一個XML文件時候後面還有很多很多的空格。
主要是什麼原因呢,主要是你寫XML的時候,我們一般都習慣的寫成了如下代碼。
- public static byte[] StreamToByte(InputStream inStream) throws Exception
- {
- byte casebyte[]=new byte[1024];
- ByteArrayOutputStream byteOutStream=new ByteArrayOutputStream();
- int n=0;
- while((n=inStream.read(casebyte))!=-1)
- { //改成write(casebyte,0,n) 重第0個讀取,讀到第N個,即使下次內容沒有1k,也可以避免空格
- byteOutStream.write(casebyte);
- }
- inStream.close();
- byteOutStream.close();
- return byteOutStream.toByteArray();
- }
注意看byteOutStream.wrte();你之前的casebyte[1024] 聲明的是1K的字符,而如果你的輸入流只有1000byte的時候,它會自動給你補24個空格,所以你下次讀取XML的時候你會發現,後面有很多的空格,像小方格一樣。
而我們應該做的的,把write(casebyte)改成 write(str,0,len)就可以避免空格了。