강좌 & 팁
FileVisitor인터페이스는 파일 트리를 재귀적으로 순회하는데 필요한 것을 제공합니다.
파일트리를 만들려면 먼저 FileVisitor인터페이스에 정의된 메서드를 모두 구현해야합니다.
파일을 방문했을때, 디렉터리 접근 전과후, 파일접근 실패했을 때의 네가지 경우가 있습니다.
인터페이스는 이러한 경우에 해당하는 네 가지 방법이 있습니다.
preVisitDirectory - 디렉토리의 항목이 방문하기 전에 호출됩니다. postVisitDirectory - 디렉토리에있는 모든 항목이 방문 된 후에 호출됩니다. 오류가 발생하는 경우, 특정 예외는 메소드에 전달됩니다. visitFile - 방문중인 파일을 호출됩니다.파일의 BasicFileAttributes이 방법으로 전달하거나 속성의 특정 집합을 읽어 파일 특성을 패키지를 사용할 수 있습니다. 예를 들어, 파일이 '숨겨진'비트 세트를 가지고 있는지 확인하기 위해 파일의 DosFileAttributeView을 읽을 수 있습니다. visitFileFailed - 파일에 액세스 할 수없는 경우 호출됩니다.특정 예외는 메소드에 전달됩니다. 예외를 던져 콘솔 또는 로그 파일에 인쇄할지 여부를 선택할 수 있습니다. |
FileVisitor 방법의 네 가지를 구현 할 필요가없는 경우, SimpleFileVisitor 클래스를 상속해서 원하는 메서드만 정의해서
사용하면 됩니다.
사용방법 튜토리얼은 아래의 주소를 참고하세요. 위에 내용도 아래의 주소에서 있는 내용 들입니다.
[Walking the File Tree ]: http://docs.oracle.com/javase/tutorial/essential/io/walk.html#ex]
[Examples source] : http://docs.oracle.com/javase/tutorial/displayCode.html?code=http://docs.oracle.com/javase/tutorial/essential/io/examples/Find.java
위에 있는 소스로 실행한 결과 입니다.
java Find D:/nio2 -name *.{png, exe} |
[실행 결과]
저번 시간에는 nio2하위폴더에 있는 파일은 검색하지 못하지만 FileVisitor을 사용하면 하위 디렉토리를 다 검색할 수 있습니다.
감사합니다.