A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 侯伟浩 黑马帝   /  2011-11-22 11:58  /  1814 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 hou3172568 于 2011-11-22 18:53 编辑

比如我要用byte数组接受服务器发来的数据,但是又不知道那些数据是多大,我该怎么定义数组的大小呢?

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1

查看全部评分

8 个回复

正序浏览
侯伟浩 黑马帝 2011-11-22 16:38:19
9#
还是没弄明白
回复 使用道具 举报
高庆亮 黑马帝 2011-11-22 15:11:45
8#
定一个缓冲流就应该能解决了吧!
回复 使用道具 举报
任俊杰 黑马帝 2011-11-22 15:09:55
7#
一般太大也不好,太小也不好,一般传数据大约常在哪个范围,如果这个范围不是太大,那么就可以定义为这个范围。如果这个范围的最大值太大那么一般就要考虑虚拟机了,一般定义为1024的整数倍。

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1

查看全部评分

回复 使用道具 举报
数组是一个类型一致,长度不可变的容器。可以通过索引操作容器中的每一个元素。
如果有多个类型相同的数据需要存储,我们就可以将其定义为一个数组,这样做省去了创建多个变量的麻烦。
存在数组中的数据是有索引的,从0开始递增,我们通过数组名和索引就可以操作其中每一个元素。例如:
        System.out.println(arr[0]);                // 打印数组中索引为0的元素
        arr[1] = 100;                // 给数组中索引为1的元素赋值为100

数组的长度
        数组可以使用length属性获取其长度。

遍历数组
        由于数组可以通过索引获取每一个元素,又可以通过length获取长度,那么我们就可以定义循环来遍历数组中的每一个元素了。

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1

查看全部评分

回复 使用道具 举报
例如用udp协议接收服务器端传来的数据,怎么定义byte的长度?
回复 使用道具 举报
你的理解是你定义一个byte数组一次性的把服务器的东西转移到数组中吧,其实你对它理解错了,其实是这样的,你每次读取byte[]数组长度个字节,也就是说,你byte数组长度多少,就读取多少到byte数组里,相当于byte是一个中转站,满了以后会自动处理然后再重新读取剩余数据,知道吧数据读完。

评分

参与人数 1技术分 +2 收起 理由
老罗 + 2

查看全部评分

回复 使用道具 举报
1024的话接收图片就不够用了
回复 使用道具 举报
一般都是定义1024 你也可以根据传来的数据而定 但是最好就不要定义的太大 因为虚拟机的内存有限

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马