JAVA/NIO2
-
[NIO.2] POSIX FIle PermissionsJAVA/NIO2 2013. 12. 16. 17:30
POSIX 는 Potable Operation System Interface for UNIX 의 약자 이며, UNIX의 IEEE와 ISO 표준 정보처리의 상호 운영을 위한 설정이다. 파일의 주인과, 주인 그룹, POSIX은 9가지 권한에 대해 지원 한다. : 파일의 주인, 같은 그룹의 사용자, 그리고 그이외 모두에 대한 읽기, 쓰기, 실행 권한 다음 코드는 POSIX 파일 속성에 대한 정보를 읽어 오는 부분이다. Method 사용 방법은 PoixFileAttributes Class를 확인 하세요. Path file = Paths.get("/Temp/4.gif"); PosixFileAttributes attr = Files.readAttributes(file, PosixFileAttributes.class..
-
[NIO.2]DOS File AttributesJAVA/NIO2 2013. 12. 16. 11:28
DOS file 속석은 DOS 와 Samba 파일 시스템을 지원 한다. 상세한 Method 정보는 DosFileAttributes Class를 참조. 사용법 Path file = Paths.get("/Temp/4.gif"); try { DosFileAttributes attr = Files.readAttributes(file, DosFileAttributes.class); System.out.println("isReadOnly is " + attr.isReadOnly()); System.out.println("isHidden is " + attr.isHidden()); System.out.println("isArchive is " + attr.isArchive()); System.out.println("..
-
[NIO.2]Basic File AttributesJAVA/NIO2 2013. 12. 10. 17:08
이전에 언급 되었듯, 파일의 기본 속성을 읽는 것은 Files.readAttributes Method를 통해 대부분 모든 속성 정보를 읽을수 있다. 이 방법 보다. 더 능률적인 파일 시스템에 대한 접근은 각각의 속성에 접근 하는 것이다. LinkOption enum, NOFOLLOW_LINKS 인자를 현재 지원 한다.위 옵션은 심볼릭 링크를 따라가지를 원치 않을 경우 사용 한다.time stamps 에 대하여 : 기본 뷰는 3가지 시간을 설정 한다. - creationTime, lastModifiedTime, lastAccessTime 위 시간에 대하여 지원 하지 않을 경우 구현고유의 값을 전달 하며, 지원 할 경우 FileTime object를 전달 합니다. BasicFileAttribute 를 이용한..
-
[NIO.2]Managing Metadata (File and File Store Attributes)JAVA/NIO2 2013. 11. 25. 17:54
메타 데이터 관리(파일과 파일 저장소 속성) 데이터에 대한 파일, 디렉토리, 링크, 만든 날짜, 마지막 수정한 날짜, 파일의 소유자, 그룹 소유자, 접근 권한 등의 메타 데이터에 대한 정보를 제공한다. Files Class 에 포함된 하나의 파일에서 제공되는 속성 정보 Method Comment size(Path) 파일의 크기를 bytes 로 돌려준다. isDirectory(Path, LinkOption) 파일이 디렉토리의 경우 true를 돌려준다. isRegularFile(Path, LinkOption...) 정규 파일일 경우 true를 돌려 준다. isSybloicLink(Path) 심볼릭 링크 파일일 경우 true를 돌려준다. isHidden(Path) 숨겨진 파일일 경우 true를 돌려준다. ge..
-
[NIO.2]Moving a File or DirectoryJAVA/NIO2 2013. 11. 25. 16:01
파일 또는 디렉토리 이동 파일 또는 디렉토리 이동 시 move(Path, Path, CopyOption...) Method를 이용한다. 타겟이 존재할 경우 Exception이 발생하는데, REPLACE_EXISTING 옵션을 사용하면 막을 수 있다. 빈 디렉토리가 이동 될 수 있다. 옵션 정보REPLACE_EXISTING - 대상이 존재 할 경우에도 이동을 수행 한다.대상이 링크일 경우 가르키는 것이 대체 되지만 링크는 영향을 받지 않는다ATOMIC_MOVE - 원자 파일 작업으로 이동을 수행 한다. 파일 시스템이 원자이동을 지원하지 않는 경우 예외가 발생한다. ATOMIC_MOVE 로 디렉토리에 파일을 이동할수 있으며, 디렉토리를 어떤 프로세스가 액세스 하는지 보장 된다. import static ja..
-
[NIO.2]Copying a File or DirectoryJAVA/NIO2 2013. 11. 25. 15:36
파일 또는 디렉토리 복사파일이나 디렉토리 복사는 copy(Path, Path, CopyOption...) Method를 사용한다.타겟 파일이 존재 할 경우 에러가 발생하는데 원치 않을 경우 REPLACE_EXISTING 옵션을 사용하면된다. 디렉토리와 복사가 가능하다.심볼릭 링크의 경우 대상이 복사 된다. 다음은 옵션 정보 이다.REPLACE_EXISTING - 이미 존재 할 경우에도 복사를 진행한다. 다만, 비어 있지 않은 디렉토리일 경우 FileAlreadExistException 이 발생한다.COPY_ATTRIBUTES - 파일에 대한 속성 값도 함께 복사 한다. 파일 속성은 시스템과 플랫폼에 의존한다.NOFOLLOW_LINKS - 원본이 심볼릭링크의 경우 링크 복사를 한다.(링크 대상이 아닌) i..
-
[NIO.2]Deleting a File or DirectoryJAVA/NIO2 2013. 11. 25. 15:14
파일 및 디렉토리 삭제 Files class에서는 2개의 삭제 Method를 제공한다. 1. delete(Path) delete(Path) 는 삭제 실패시 Exception을 던진다. 예를 들면 파일이 없을 경우 NoSuchFileException Exception을 던진다. try { Files.delete(path); } catch (NoSuchFileException x) { System.err.format("%s: no such" + " file or directory%n", path); } catch (DirectoryNotEmptyException x) { System.err.format("%s not empty%n", path); } catch (IOException x) { // File ..
-
[NIO.2]Checking a File or DirectoryJAVA/NIO2 2013. 11. 25. 14:57
파일 또는 디렉토리 확인 1. 존재 여부 확인exists(Path, LinkOption...) : 존재 할 경우 truenotExists(Path, LinkOption...) : 존재 하지 않을 경우 true만약 exists와 notExists의 결과가 동일하게 false 일 경우 Path의 값이 명확하지 않을 경우다. 2. 파일 권한isReadable(Path) : 읽기 가능할 경우 trueisWritable(Path) : 쓰기 가능할 경우 trueisExecutable(Path) : 실행 가능할 경우 true Path file = ...; boolean isRegularExecutableFile = Files.isRegularFile(file) & Files.isReadable(file) & File..