StandardCopyOption — 표준 복사 옵션

StandardCopyOption — 표준 복사 옵션

표준 복사 옵션을 정의하는 열거형(enum)이에요. Files.copyFiles.move 같은 복사·이동 연산에서 동작 방식을 지정할 때 사용해요. 대상 파일이 이미 존재할 때의 처리와 심볼릭 링크 처리 방식을 정의해요.

출처: Java API Reference

본문

  • 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);

더 알아보기 (Learn more)