日期:2014-05-20  浏览次数:20766 次

InputStream的read方法的问题
我的InputStream的read方法,返回的 读入缓冲区的总字节数
比我给它的小,这是怎么回事情?
byte[] received = new byte[10 + 20 * 1024];
int result = is.read(received,0,received.length);
System.out.println("result "+result); 
输出是 result 4380
我发送的文件是一个含有中文的xml文件的压缩文件
为什么这么小就返回了?

------解决方案--------------------
可能是read有个默认最大读取数
------解决方案--------------------
没有这么大块的读写的...
一般1024或者2048
------解决方案--------------------
可能数据包太大,底层把数据分包发送的。

------解决方案--------------------
中文??InputStream不支持unicode,你用Reader试试吧。
------解决方案--------------------
up!