JAVA/NIO2

[NIO.2]Copying a File or Directory

lahuman 2013. 11. 25. 15:36
728x90

파일 또는 디렉토리 복사

파일이나 디렉토리 복사는 copy(Path, Path, CopyOption...) Method를 사용한다.

타겟 파일이 존재 할 경우 에러가 발생하는데 원치 않을 경우 REPLACE_EXISTING 옵션을 사용하면된다.


디렉토리와 복사가 가능하다.

심볼릭 링크의 경우 대상이 복사 된다.


다음은 옵션 정보 이다.

  • REPLACE_EXISTING - 이미 존재 할 경우에도 복사를 진행한다. 다만, 비어 있지 않은 디렉토리일 경우 FileAlreadExistException 이 발생한다.
  • COPY_ATTRIBUTES - 파일에 대한 속성 값도 함께 복사 한다. 파일 속성은 시스템과 플랫폼에 의존한다.
  • NOFOLLOW_LINKS - 원본이 심볼릭링크의 경우 링크 복사를 한다.(링크 대상이 아닌)
import static java.nio.file.StandardCopyOption.*;
...
Files.copy(source, target, REPLACE_EXISTING);


또한 복사 기능은 stream 과 file 에서 사용이 가능하다.

  • copy(InputStream, Path, CopyOptions...)
  • copy(Path, OutputStream)


참조 : http://docs.oracle.com/javase/tutorial/essential/io/copy.html

728x90