전체 글
-
[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..
-
[NIO.2]Files ClassJAVA/NIO2 2013. 11. 20. 17:50
Files Class는 java.nio.file package에서 가장 중요한 Class 이다. 이 Class는 파일과 디렉토리에 대한 읽고, 쓰고, 조정에 대한 static Method들을 제공한다. Files Method는 Path Object와 함께 사용 됩니다. 다음 주요 내용을 확인 해 보자. 1. 시스템 자원 해제 및 예외상황 처리 2. 인자들에 대한 정보 3. 원자적인 활동 4. 메소드 연결 5. Glob 6. Link 인식 1. 시스템 자원 해제 및 예외 상황 처리 java.io.Colseable Interface를 상속 받거나, 구현하여 자원에 대한 해제를 아래와 같이 처리 한다. Charset charset = Charset.forName("US-ASCII"); String s = ....
-
[NIO.2]The Path ClassJAVA/NIO2 2013. 11. 13. 23:49
새롭게 JAVA7 에서 추가된 java.nio.file package는 file I/O관련 되어 직관이고 많은 기능의 Class들을 제공 한다. 물론 기존 java.io package 역시 계속 제공 된다.(@Deprecated 되지 않음) 일명 NIO.2 로 명명된 새로운 package의 사용법에 대하여 알아보는 첫번째 시간으로 오늘은 Path Class에 대해 알아 보자 1. Creating a Path Path p1 = Paths.get("/tmp/foo"); Path p2 = Paths.get(args[0]); Path p3 = Paths.get(URI.create("file:///Users/joe/FileTest.java")); Path p4 = FileSystems.getDefault().ge..
-
[JUNIT4]기본 annotation 명령어JAVA/JUNIT 2013. 11. 12. 17:07
추후 개발을 TDD (TEST Driven development) 방법론을 사용 하기 위해 필요한 JUNIT Framework 사용 법을 정리 한다. 1. @Test 가장 기본이 되는 Annotation으로, 특정 Method 에 선언 하여 Test 하도록 한다. @Test public void filePath(){ File file = new File("C:\\Temp\\a_dreamy_world_2nd_for_mac_by_grafixeye.jpg"); Path path = Paths.get("C:\\Temp\\a_dreamy_world_2nd_for_mac_by_grafixeye.jpg"); Assert.assertEquals(file.getPath(), path.toAbsolutePath().toS..