폴더를 반복하고 특정 파일이 끝나는 모든 파일을 나열하려고합니다. 재귀 메서드를 사용하여이 문제를 해결하기 위해 노력하고 있지만 어디에도 없습니다.Java 재귀 인쇄 디렉토리 하위 디렉토리 파일
private int counter = 0;
public void printAllJavaFiles(File directory) {
printFile(directory);
File[] subDirectories = directory.listFiles();
for (File file : subDirectories) {
printAllJavaFiles(file);
}
}
private void printFile(File file) {
// Get file extension
String fileExtension = "";
int i = file.getName().lastIndexOf('.');
if (i >= 0) {
fileExtension = file.getName().substring(i + 1);
}
if (fileExtension.equals("java")) {
System.out.println("File: " + file.getName() + " Size: " + file.length());
}
}
의견이 있으십니까? 나는 디렉토리 구조에서 위아래로가는 방법을 모른다. 그냥 첫 번째 폴더를 입력하고 그것이 그것이 nullpointerexception을 throw 파일을 나열 일을 일단.
당신은'java.nio.file.Files.walkFileTree'을보아야합니다. – rkosegi
재귀 적 방법을 사용하여이 문제를 특별히 해결해야합니다. – Lithicas
NPE는 어디서 구할 수 있습니까? – Sentry