검색하는거 만들다가 막혀서 질문드립니다...
나봄
제가 아래의 소스와 같이 지정한 디렉토리안의 원하는 파일을 찾는 프로그램을 만들고 있습니다.. 그런데 이렇게 해서 실행해 보면 실행하다가 중간에 NullPointerException 이 떠버립니다.. 도무지 이해가 가질 않아서 이렇게 도움요청을 합니다..
왜 그런지 아시는분은 알려주시면 감사하겠습니다..
제 글 읽어 주셔서 감사합니다..
Exception in thread main java.lang.NullPointerException
at FilenameFilterText.fDirFilenameFilterTest.java:49
at FilenameFilterText.dDirFilenameFilterTest.java:37
at FilenameFilterText.mainFilenameFilterTest.java:62
이런 문구가 나와서 그냥 끝나버립니다.
막히는 부분은 휴지통 폴더인듯 한데...저곳에서 왜 막히는지 모르겠습니다.. 어떻게 해야 해결이 될런지...import java.io.File;
import java.io.FilenameFilter;
import java.util.regex.Pattern;
public class FilenameFilterTest implements FilenameFilter
{
private String filter;
public FilenameFilterTest(String filter)
{
this.filter = filter;
}
public boolean accept(File dir, String name)
{
String filter = this.filter
.replaceAll(\\., \\\\.)
.replaceAll(\\$, \\\\$)
.replaceAll(\\+, \\\\+)
.replaceAll(\\(, \\\\()
.replaceAll(\\), \\\\))
.replaceAll(\\{, \\\\{)
.replaceAll(\\}, \\\\})
.replaceAll(\\[, \\\\[)
.replaceAll(\\], \\\\])
.replaceAll(\\^, \\\\^)
.replaceAll(\\*, .*)
.replaceAll(\\?, .);
return Pattern.matches(filter, name);
}
public static void dDir(File file1) {
File[] list = file1.listFiles();
for(int i =0; i list.length; i++) {
if(list[i].isDirectory()) {
fDir(new File(list[i].getAbsolutePath()));// 37번째줄
dDir(new File(list[i].getAbsolutePath()));
} else {
//fDir(new File(list[i].getAbsolutePath()));
}
}
}
public static void fDir(File f){
if(f.isDirectory()) {
File[] list = f.listFiles(new FilenameFilterTest(*.txt));
for(int i=0;i list.length;i++) {// 49번째 줄
System.out.println(+list[i].getAbsolutePath());
}
}
}
public static void main(String[] args)
{
// 디렉토리에 접근
File dir = new File(C:/);
dDir(dir);// 62번째줄
/*
// 디렉토리 내에서 파일명에 aa가 포함되고 확장자가 txt인 파일 필터링
File[] files = dir.listFiles(new FilenameFilterTest(*));
// 결과 출력
for(int i = 0 ; i files.length ; i++) {
System.out.println(files[i].getName());
}*/
}
}
그리고 마지막으로 제가 찾다 보니까 글 제목이 [Java Source] 디렉터리(Directory) 관련 예제(생성, 삭제, 목록 검색, 필터적용..)인 글이 있는데 정회원이상 되야 읽을 수 있는 글이더?글이더군요...혹시 이 글을 읽을 수 있어서 그 안의 내용을 메일로 보내주실수 있는분 계시면 보내주시면 감사하겠습니다...
-
아론아브라함
감사합니다..
-
우람늘
f.listFiles 는.. 아마도..
자식파일이 없으면 null 이 나올겁니다.
그러니깐 null 체크하고 난 뒤에 사용하세요. -
황소숨
새로 올렸습니다...다시 한번 봐주시면 감사하겠습니다.
-
바람
실행하다가 어디서에 null pointer exception이 뜨나요?
null pointer exception이 뜨는 로그(stack trace)는 어떻게 되나요??
질문이 엉성하면 답을 할 수 없습니다.