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)就可以避免空格了。