byte[]獲取實際長度的方法
阿新 • • 發佈:2018-11-04
一般我們的寫法是 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; }
好了,自己去測試吧.