当前位置: 代码迷 >> J2EE >> 关于网络反诘的一个固定格式的讨论
  详细解决方案

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

热度:9   发布时间:2016-04-17 23:26:23.0
关于网络反问的一个固定格式的讨论
        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个字节。现在下载图片,文件随便都会超过这个大小。难道是我理解错了吗
------解决思路----------------------
Buffer 是数据缓冲区,通常意义上的缓冲区,并不保存完整的数据,而是保存即将要处理的部分数据。

当然,如果缓冲区足够大的话,也是能够放下所有数据的。
但是,一般缓冲区不会放置所有的数据。

楼主没有注意到,获得缓冲区的代码后面,还有一个while循环,这个循环在重复使用缓冲区。
每次循环都向缓冲区中填入数据(填入的数据量保存到count里),然后再把缓冲的数据写入其他地方。
  相关解决方案