yingnian_00 2011-03-18 21:05 采纳率: 0%
浏览 2633
已采纳

如何清空byte[]数组

做socket传输的时候用的
[code="java"]
InputStream is = socket.getInputStream();
byte[] inputByte = new byte[1024];

while((length = is.read(inputByte,0,inputByte.length))>0){
//其他代码...
}
[/code]

但是最后一次读的时候长度没有1024,比如1000,这样的话剩下那24个字节就是倒数第2次传的那组数的最后24个字节,用了各种方法,什么inputByte=null; inputByte=new byte[1024];Arrays.fill(inputByte,(byte)0);在每次循环的末尾...都没能把数组清空...求解

  • 写回答

4条回答 默认 最新

  • redstarofsleep 2011-03-18 22:13
    关注

    你把你两端的代码都发上来看看,Socket的我一直都是这样写的都是好好的,从来没有出现过你说的问题.

    PS:你以前是不是搞C的啊,呵呵

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • redstarofsleep 2011-03-18 21:23
    关注

    为什么要把数组清空啊?
    不是有这句了吗?
    length = is.read(inputByte)

    评论
  • redstarofsleep 2011-03-18 21:34
    关注

    [code="java"]
    length = is.read(inputByte)
    [/code]
    你用我这句试试

    评论
  • wozywei 2014-01-13 16:52
    关注
                        把这句   [code="java"]if(is.available()<1024){
                           buffer=null;
                           buffer=new byte[1024];
                       }[/code]
                        加到while语句块最后
    
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 Google Chrome 所有页面崩溃,三种解决方案都没有解决,我崩溃了
  • ¥20 使用uni-app发起网络请求,获取重定向302返回的cookie
  • ¥20 手机外部浏览器拉起微信小程序支付 (相关搜索:微信小程序)
  • ¥20 怎样通过一个网址找到其他同样模版的网址
  • ¥30 XIAO esp32c3 读取FDC2214的数据
  • ¥15 在工控机(Ubuntu系统)上外接USB蓝牙硬件进行蓝牙通信
  • ¥15 关于PROCEDURE和FUNCTION的问题
  • ¥100 webapi的部署(标签-服务器)
  • ¥20 怎么加快手机软件内部计时的时间(关键词-日期时间)
  • ¥15 C语言除0问题的检测方法