파일 시스템의 깊이를 찾는 메소드와 가장 큰 파일을 찾는 메소드를 작성하려고합니다. 나는 간단한 텍스트 파일을 포함하고 디렉터리 내의 다양한 깊이에있는 여러 폴더가 있습니다. 파일 입력에 문제가있는 것 같아요. 아무것도 들어 가지 않았던가?자바 - 널 포인터 예외, 파일 입력?
여기Exception in thread "main" java.lang.NullPointerException
at FileExploration.largestFile(FileExploration.java:68)
at FileExploration.main(FileExploration.java:14)
이 추적에있는 라인과 같습니다 :
public static void main (String[] args) {
System.out.println(largestFile(new File(
"c:/home/skatty14/workspace/LargestFile"))); //Line 14
}
File[] files = h.listFiles();
for (File f: files) { //Line 68
File lf = largestFile(f);
아는 사람이 어떻게 그렇게이 제대로 작동 할 수 있도록 여기에 스택 트레이스는? 14 번 줄에있는 입력 파일이 제대로 가져 오지 않았다고 생각합니까? 그러나 나는 왜 그런지 모르겠다. 누군가가이 문제에 관해 발표 할 수있는 어떤 빛이라도 고맙게 받아 들일 것이다. 고마워!
편집 : 오, 오케이 ... 문제를 발견했을 수도 있습니다.? 리눅스를 사용하고 있습니다 : Ubuntu-Lucid Lynx는 c :/HD 디렉토리조차 가지고 있지 않습니다. 그렇지만, Java (예 : 홈 디렉토리)에서 파일 시스템에 어떻게 액세스합니까?
Edit2 : 해결 : 방금 내 외장 하드 드라이브 중 하나로 디렉토리를 변경했습니다. 아마도 사용 권한이 홈 폴더에 대한 액세스를 차단하고 있었지만 잘 모르겠습니다 ... 어떻게 든 고쳐졌습니다. ;)