byte [] buf = new byte [512000];
while((in.read(buf,0,512000)) !=-1)
{
out.write(buf); (out输出流)
}
这样那么传到文件的最后一个buf里面可能有空数据流,要怎么解决?
可是我传一个2k,会收到50K的
在read之前,用in.available()获取要传送文件的大小,假设存入m中。然后再用out.write(b,0,m)就可以了;但应定要在读之前用m=in.available(),试试吧
温馨提示:答案为网友推荐,仅供参考
第1个回答 2009-03-17
文件结束符自动会丢弃后面无用的数据流.
第2个回答 2009-03-18
你先求出read读出数据的长度,in.read返回以个int类型的长度,然后new String(b,0,len) b是byte ,0是从第一个下标开始读,len是你求出数据的长度