티스토리 뷰

바이트 단위 바이너리 연산이 많아서 문제다...
C 에서는 memcpy 했는데, 이놈의 java 나 c# 에서는 어케 하나 했었다.

- MSDN 내용입니다. 참고하시기 바랍니다.

Buffer.BlockCopy
특정 오프셋에서 시작하는 소스 배열에서 특정 오프셋에서 시작하는 대상 배열로 지정된 바이트 수를 복사합니다.
public static void BlockCopy (
Array src,
int srcOffset,
Array dst,
int dstOffset,
int count
)
 
- 사용 예
Buffer.BlockCopy(src, srcOffset, dst, dstOffset, count)
 
매개 변수
src       : 소스 버퍼입니다.
srcOffset : src의 바이트 오프셋입니다.
dst  : 대상 버퍼입니다.
dstOffset : dst의 바이트 오프셋입니다.
count  : 복사할 바이트 수입니다.
 

public static void arraycopy(
           Object source,
  int srcIndex, 
           Object dest,
           int destIndex,
           int length
)

- 사용 예
public class ArrayCopyDemo {

    public static void main(String[] args) {
        char[] Src = { 'd', 'e', 'c', 'a', 'f', 'f', 'e','i', 'n', 'a', 't', 'e', 'd' };
        char[] dst = new char[7];
        System.arraycopy(src, 2, dst, 0, 7);
        System.out.println(new String(dst));
    }
}

댓글