티스토리 뷰
바이트 단위 바이너리 연산이 많아서 문제다...
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));
}
}
댓글