마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

byte array에 들어오는 데이터 계속 추가 하는방법

0 추천
byte array에 들어오는 데이터 계속 추가 하는방법

 

byte[] a 가 받는 데이터이고

저장할 데이터가 byte[] b일때

 

받는 데이터 "AA" || "aa"가 아닐경우에는

계속 byte[] b에 들어오는 대로 붙이고

aa나 AA가 들어오면 b를 초기화 시킬려고하는데 방법이있나요?
쿠쿠부다스 (6,470 포인트) 님이 2017년 8월 21일 질문

2개의 답변

0 추천
 
채택된 답변

실제 데이터에 "AA"가 있는 경우는 어떻게 할 것인가요?

통신에서 쓰이는 것이라면, 충분히 큰 ByteArray를 할당하고, 해당 사이즈까지는 ArrayCopy를 한 후에,

최종적으로 파일로 저장한다면, ByteArray에서 특정 바이트까지 저장할 수 있습니다.

아래 참조:

byte[] c = new byte[a.length + b.length];
System.arraycopy(a, 0, c, 0, a.length);
System.arraycopy(b, 0, c, a.length, b.length);
Will Kim (43,170 포인트) 님이 2017년 8월 21일 답변
쿠쿠부다스님이 2017년 8월 21일 채택됨
0 추천
    private static final byte[] AA = "AA".getBytes();
    private static final byte[] aa = "aa".getBytes();

    private byte[] checkAA(byte[] a, byte[] b) {
        if (a == AA || a = aa) {
            return new byte[0];
        } else {
            int lenA = a.length;
            int lenB = b.length;
            byte[] result = new byte[lenA + lenB];
            System.arraycopy(a, 0, result, 0, lenA);
            System.arraycopy(b, 0, result, lenA, lenB);
            return result;
        }
    }

 

minor (13,710 포인트) 님이 2017년 8월 21일 답변
minor님이 2017년 8월 21일 수정
...