关于网络反问的一个固定格式的讨论

codelabs 2014-12-20 01:57:17
byte[] buffer = null;
try {
InputStream in = entity.getContent();
if (in == null) {
throw new ServerError();
}
buffer = mPool.getBuf(1024);
int count;
while ((count = in.read(buffer)) != -1) {
bytes.write(buffer, 0, count);
}
return bytes.toByteArray();
} finally {}


这一段话基本是访问网络数据的固定格式了。我想问的是,为什么大家用的是1024个字节。现在下载图片,文件随便都会超过这个大小。难道是我理解错了吗
...全文
110 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
程序袁_哈哈 2014-12-23
  • 打赏
  • 举报
回复
3L 正解
  • 打赏
  • 举报
回复
比如你要把一个深沟的水搬到田里面去,你首先是不是要先找一个容器呀?(容器可以有:脸盆、水桶、碗、等等);那这个容器对应的大小就是你所说的1024设置的大小,看你愿意使用水桶还是使用碗还是其他的东西来装水;只是跑的次数就多了,但如果容器太大你又搬不动。
冰思雨 2014-12-20
  • 打赏
  • 举报
回复
并不保存完整的数据 , 这句话并不确切,换成 并不保存所有的数据,相对更准确些。
冰思雨 2014-12-20
  • 打赏
  • 举报
回复
Buffer 是数据缓冲区,通常意义上的缓冲区,并不保存完整的数据,而是保存即将要处理的部分数据。 当然,如果缓冲区足够大的话,也是能够放下所有数据的。 但是,一般缓冲区不会放置所有的数据。 楼主没有注意到,获得缓冲区的代码后面,还有一个while循环,这个循环在重复使用缓冲区。 每次循环都向缓冲区中填入数据(填入的数据量保存到count里),然后再把缓冲的数据写入其他地方。

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧