StandardCopyOption — 표준 복사 옵션
StandardCopyOption — 표준 복사 옵션
표준 복사 옵션을 정의하는 열거형(enum)이에요. Files.copy나 Files.move 같은 복사·이동 연산에서 동작 방식을 지정할 때 사용해요. 대상 파일이 이미 존재할 때의 처리와 심볼릭 링크 처리 방식을 정의해요.
본문
public static final StandardCopyOption REPLACE_EXISTING— 대상 파일이 이미 존재하면 그 파일을 교체해요. 대상 파일이 존재하지 않으면 이 옵션을 무시해요.Files.copy에서 대상이 기호 링크(Symbolic Link)이고 존재한다면 링크 자체가 아닌 링크 대상이 교체돼요.public static final StandardCopyOption COPY_ATTRIBUTES— 파일과 함께 파일 속성도 복사해요. 정확히 어떤 속성이 복사되는지는 구현에 따라 달라요. 원본 파일의 속성을 복사하는 데 실패하면 어느 정도는 무시돼요. 대개 파일 시간(time) 속성 복사를 시도해요.public static final StandardCopyOption ATOMIC_MOVE— 파일을 원자적(atomic) 파일 시스템 연산으로 이동해요. 다른 모든 옵션은 이 옵션과 함께 사용할 수 있어요.Files.move에서 이 옵션이 지원되지 않으면AtomicMoveNotSupportedException을 던져요.public static StandardCopyOption[] values()— 선언된 순서대로 이 열거형 클래스의 상수 배열을 반환해요.public static StandardCopyOption valueOf(String name)— 지정된 이름을 가진 열거형 상수를 반환해요.
// 존재하면 덮어쓰고 원본 속성도 함께 복사
Files.copy(source, target,
StandardCopyOption.REPLACE_EXISTING,
StandardCopyOption.COPY_ATTRIBUTES);
// 원자적 이동
Files.move(src, dst, StandardCopyOption.ATOMIC_MOVE);