问题应该是出在客户端,在第19行,缓冲输出流写入后没有及时的刷新(flush()方法),导致数据传输不完整,在使用完缓冲输出后一定要记得刷新数据。同时建议自定义一个缓冲区提高效率,可以把第15到20行修改一下- //开始读取文件
- //自定义缓冲区
- byte[] buf = new byte[1024];
- int bytes = 0;
- while((bytes=bufi.read(buf))!=-1){
- //将数据写入自定义缓冲区
- bufout.write(buf,0,bytes);
- //将自定义缓冲数据刷入缓冲区
- bufout.flush();
- }
复制代码
|