안녕 여기에 명령 줄에서 디렉토리를 가져 와서이 디렉토리와 그 하위 폴더에있는 모든 파일을 추가하는 작은 프로그램이 있습니다. 코드는파일을 읽을 때 java.lang.NullPointerException이 발생했습니다.
입니다.package oop.ex1.filescript;
import java.io.*;
import java.util.ArrayList;
public class MyFileScript {
public static void main(String[] args) {
File dir = new File(args[0]);
//LINE 13
ArrayList<File> files = readAllFiles(dir.listFiles());
}
private static ArrayList<File> readAllFiles(File[] dir){
ArrayList<File> result = new ArrayList<File>();
//LINE 28
for(File itr : dir) {
result.add(itr);
if (!itr.isFile()) {
File[] temp = itr.listFiles();
//LINE 32
ArrayList<File> deeperList = readAllFiles(temp);
result.addAll(deeperList);
}
}
return result;
}
} 지금은 모든 것이 괜찮 그들에 많은 파일이 아닌와 특정 폴더에서 실행,하지만 난 피드 때 내가 얻을 수 많은 파일과 폴더 때
:
Exception in thread "main" java.lang.NullPointerException
at oop.ex1.filescript.MyFileScript.readAllFiles(MyFileScript.java:28)
at oop.ex1.filescript.MyFileScript.readAllFiles(MyFileScript.java:32)
at oop.ex1.filescript.MyFileScript.readAllFiles(MyFileScript.java:32)
at oop.ex1.filescript.MyFileScript.main(MyFileScript.java:13)
그 이유는 무엇입니까? 감사! p.s. 나는 줄 번호를 표시했다!
안녕하세요, 목록은 ArrayList에 비해 어떤 이점이 있습니까? – yotamoo
인터페이스에 대한 디자인 - 아이디어를 들어 본 적이 없습니까? 클래스의 구체적인 유형을 광고하지 않으므로 클라이언트를 변경하면 클라이언트가 영향을받지 않습니다. java.sql 패키지를 보라. 중요한 클래스는 모두 인터페이스이다. 왜 그런지 생각해? – duffymo