博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OutputStream write文件比原来的大
阅读量:6344 次
发布时间:2019-06-22

本文共 463 字,大约阅读时间需要 1 分钟。

在server端使用out.write(buffer, 0, byteRead);
在client端获取后使用out.write(buffer);写出来的文件会比源文件大,而且大小不太固定.
如果我在client也换成out.write(buffer, 0, byteRead);则完全没问题.
求教.
API上是说write(byte[] b)也是写入的b.length个字节.难道是这里的问题?如果是应该也不会大得这么离谱吧,我源文件是3M多,写出来后有时候是4M,有时是5M不等.

难道它是在inStream.read(buffer)的时候就有可能没有读满buffer.length个长度?

public int read(byte[] b) throws IOException
从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。以整数形式返回实际读取的字节数。
"实际读取的字节数"会小于b.length
一般是
int i=in.read(buffer);
out.write(buffer,0,i);

转载地址:http://vmkla.baihongyu.com/

你可能感兴趣的文章
Adobe驳斥Flash过度耗电论 称HTML5更耗电
查看>>
No!No!No! It's not fashion!
查看>>
艰困之道中学到的经验教训
查看>>
互联网生态建设落地五大挑战——保险科技生态建设 ...
查看>>
进行短视频app开发工作时,可以加入它来保护青少年 ...
查看>>
25G DAC无源高速线缆和25G光模块之间的区别
查看>>
乐乐茶完成近2亿元Pre-A轮融资,祥峰投资领投
查看>>
clickhouse修改时区
查看>>
CSS_定位
查看>>
第二十四章:页面导航(六)
查看>>
IP_VFR-4-FRAG_TABLE_OVERFLOW【cisco设备报错】碎片***
查看>>
Codeforces Round #256 (Div. 2) D. Multiplication Table 【二分】
查看>>
ARM汇编指令格式
查看>>
HDU-2044-一只小蜜蜂
查看>>
HDU-1394-Minimum Inversion Number
查看>>
京东基于Spark的风控系统架构实践和技术细节
查看>>
什么时候使用CountDownLatch
查看>>
C#之MemberwiseClone与Clone
查看>>
Android性能优化之利用Rxlifecycle解决RxJava内存泄漏
查看>>
转: 如何为你的开源项目选择一个合适的开源协议?
查看>>