编辑代码

class Main {
    public static int byte2Integer (int[] data, boolean isSigned) {
        int value = 0;
        int len = Math.min(data.length, 4); //long:8; int:4
        for (int i = 0; i < len; i++) {
            value |= ((isSigned && i == 0) ? data[i] : data[i] & 0xff) << (8 * (len - i - 1));
        }
        return value;
    }
    public static void test(int[] a) {
        int dlen = a.length;
        int appId = -1;
        for (int i=0; i<dlen-6; i++) {
            if (a[i] == 0xab && a[i+1] == 0xab && a[i+4] == 0xba && a[i+5] == 0xba) {
                int[] tmp = new int[2];
                System.arraycopy(a, i+2, tmp, 0, 2);
                appId = byte2Integer(tmp, false); //
                System.out.println("appId="+appId);
            }
           // for(int j=
        }
    }
	public static void main(String[] args) {
         int[] aa={
            0xab,0xab,0x03,0x07,0xba,0xba,0x7e,0x4c,0x78,0x65,
            0x1,0x7e,0x4c,0x78,0x65,0x1,0x7e,0x4c,0x78,0x65,
            0x1,0x7e,0x4c,0x78,0x65,0x1,0xab,0xab,0x03,0x08,
            0xba,0xba,0x0,0x0,0x0,0x0,0x1,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,};
            int[]bb=new int[150];
            System.arraycopy(aa, 2, bb, 1, 2);
            test(aa);
		System.out.println("aa length:"+ aa.length+", bb:"+bb[0]+","+bb[1]+","+bb[2]);
	}
}