JAVA字节数组问题
我用UDP通信是,建立了个字节数组BUF[]。当数据来时,先存在BUF里,我在用.getlength()读取。现在,加入第一次来的是111111,那么这个数组前6个字节被...
我用UDP通信是,建立了个字节数组BUF[]。当数据来时,先存在BUF里,我在用.getlength()读取。
现在,加入第一次来的是111111,那么这个数组前6个字节被写了,第二次来的是111,只改写了前面3个字节,当我调用getlength时,仍然为6个字节。但是我只想输出3个字节,求解。 展开
现在,加入第一次来的是111111,那么这个数组前6个字节被写了,第二次来的是111,只改写了前面3个字节,当我调用getlength时,仍然为6个字节。但是我只想输出3个字节,求解。 展开
展开全部
哪说明你写到BUF时候,没有按照位置去写,仅仅是每次都从0的序号开始,调整下写buf的代码吧
追问
这个是DatagramSocket自动写的,我也没法改变。
追答
你这个字节数据是什么数据源(文件?还是字符?)你可以每次将buf转为string存储到对应的变量里面,然后请客该buf,实在不行,上代码看下吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那你就用map装载你的buf[],用同样的key就可以覆盖,用不同的key就都存在
更多追问追答
追问
没懂什么意思,我这是第一次用JAVA写程序。
主要是我这个BUF是要循环用的,是在一个死循环里,我要一直读数据。
但是读完我不知道怎么清空,让.getlength为我下一次发送的长度。因为是字节数组,也不能为NULL。
追答
那么你就在每次读的时候new一个新的字节数组嘛
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
每次写入的时候需要把buf清空。用map 太耗内存了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询