java 폴더 디렉터리 깊이 훑어보기 실례 코드
1. 제목
지정한 디렉터리에 대해 모든 내용을 열거하거나 (하위 디렉터리의 내용을 포함) 디렉터리를 깊이 있게 훑어보는 것으로 이해할 수 있습니다.
2. 문제 풀이 사상
컴퓨터에서 파일 디렉터리를 가져와 함수를 만들어서 그 디렉터리에 있는 모든 파일을 판단해야 한다. 만약 파일이 디렉터리라면 호출 함수 자체가 계속 그 디렉터리를 훑어보고 파일이 디렉터리가 아니라면 파일 이름을 직접 출력해야 한다.디스플레이의 효과를 강화하기 위해서 getSpace 함수를 만들어서 축소할 수 있습니다.
주의해야 할 것은 C디스크의 내용을 직접 훑어보지 마라. 디렉터리의 차원이 너무 깊고 시스템급 파일이 너무 많아서 빈 바늘로 되돌아가기 쉽고 빈 바늘이 이상하게 발생하거나 D디스크를 직접 훑어보지 마라. 숨겨진 시스템 커서 디렉터리가 있으면 빈 바늘 이상이 발생하기 때문이다.
3. Java 코드
import java.io.File;
public class DepthTraversal {
public static void main(String[] args) {
File dir = new File("d:\\BaiduYunDownload");
listAll(dir, 0);
}
public static void listAll(File dir, int level) {
System.out.println(getSpace(level) + dir.getName());
level++; // ,level 1
File[] files = dir.listFiles(); //
for (int x = 0; x < files.length; x++) { //
if (files[x].isDirectory()) { // , listAll
listAll(files[x], level);
} else { // ,
System.out.println(getSpace(level) + files[x].getName());
}
}
}
private static String getSpace(int level) { // ,
StringBuilder sb = new StringBuilder();
sb.append("|--");
for (int x = 0; x < level; x++) {
sb.insert(0, "| ");
}
return sb.toString();
}
}
읽어주셔서 감사합니다. 여러분에게 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.