1. 程式人生 > >byte[]獲取實際長度的方法

byte[]獲取實際長度的方法

一般我們的寫法是  byte[] byteArray = new byte[128或者256或者1024],但是我們壓根用不了這個多,
在實際的操作中也比較麻煩,下面的方法可以獲取當前的byteArray的有效長度和實際有多少個值.
/**
 * 獲取byte的實際長度
 * @param bytes
 * @return
 */
public int getValidLength(byte[] bytes){
    int i = 0;
    if (null == bytes || 0 == bytes.length)
        return i ;
    for (; i < bytes.length
; i++) { if (bytes[i] == '\0') break; } return i + 1; }

 
/**
 * 獲取byte的實際值
 * @param bytes
 * @return 實際長度的byte[]
 */
public byte[] getCopyByte(byte[] bytes){
    if (null == bytes || 0 == bytes.length)
        return new byte[1];
    int length = getValidLength(bytes);
    byte
[] bb = new byte[length]; System.arraycopy(bytes, 0, bb, 0, length); return bb; }
好了,自己去測試吧.