프로그램의 경우 디렉토리 트리를 만들려고합니다. 그래서 내 프로그램의 첫 번째 부분은 내가 필요한 디렉토리를 통과하는 경로를 사용디렉토리 트리 만들기
public static void main(String[] args) throws IOException {
Path startingDir = Paths.get("/home/somedirectory");
PrintFiles pf = new PrintFiles();
Files.walkFileTree(startingDir, pf);
}
그리고 PrintFiles 프로그램을 http://download.oracle.com/javase/tutorial/essential/io/walk.html (I 직접 나무를 산책 경로를 사용하는 방법에 대한 가이드에서이 복사) :
나는 또한 전형적인 추가 노드와 노드의 수와 트리를 생성하는 일반적인 트리 프로그램이public static class PrintFiles extends SimpleFileVisitor<Path> {
//Print information about each type of file.
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attr) {
if (attr.isSymbolicLink()) {
System.out.format("Symbolic link: %s ", file);
} else if (attr.isRegularFile()) {
System.out.format("Regular file: %s ", file);
} else {
System.out.format("Other: %s ", file);
}
System.out.println("(" + attr.size() + "bytes)");
return CONTINUE;
}
//Print each directory visited.
@Override
public FileVisitResult postVisitDirectory(Path dir, IOException exc) {
System.out.format("Directory: %s%n", dir);
return CONTINUE;
}
public FileVisitResult visitFileFailed(Path file, IOException exc) {
System.err.println(exc);
return CONTINUE;
}
은} 나는 그것의 길이 I 때문에 코드를 게시하지 않을거야 (노드 등의 기능을 제거 그 이후로 정말로 필요하다고 생각하지 마라. 꽤 간단한 구현).
제 질문은 내 특정 디렉토리에 대한 디렉토리 트리를 나타내는 일반적인 트리를 만들 수있는 방법을 정확히 어떻게합니까? 경로와 파일 라이브러리가 어떻게 작동하는지 정확하게 알지 못합니다.
감사합니다, 케빈
나는 아파치 commons io fileutils를 사용하여 dir을 걷는 것을 고려할 것이다 – jayunit100