2016-08-01 2 views
-2
FileFilter fileFilter = new FileFilter() { 
      @Override 
      public boolean accept(File pathname) 
      { 
       return !pathname.getPath().endsWith("file.tmp"); 
      } 
     }; 

위의 코드에서 파일 필터는 "file.tmp"로 끝나는 파일 경로 이외의 모든 파일 경로를 반환합니다. 문제는 모든 파일을 반환하는 필터를 하나 추가하고 싶습니다. 경로는 "file.temp"로 끝나고 "file.tmp"로 끝나는 디렉토리를 제외하고는.파일 필터 수정 필요

그리고 아래 코드를 시도했지만 작동하지 않습니다.

FileFilter fileFilter = new FileFilter() { 
    @Override 
    public boolean accept(File pathname) 
    { 
     return !pathname.getPath().endsWith("file.tmp") && !pathname.getPath().endsWith("file.temp"); 
    } 
}; 

또는 ||로 : 당신이 필요로하는 동안 당신이 잘못 체크를했다

FileFilter fileFilter = new FileFilter() { 
      @Override 
      public boolean accept(File pathname) 
      { 
       return !((pathname.getPath().endsWith("file.tmp"))&&(pathname.getPath().endsWith("file.temp"))); 
      } 
     }; 
+0

만'file.tmp' 또는'file.temp' 중 하나를 제외 할 경우,'&&는'당신의 두번째 코드에 – dubes

답변

2

은 (file.tmp로 끝나는 동시에에 을 file.temp하지 않는 모든 파일을 허용) :

FileFilter fileFilter = new FileFilter() { 
    @Override 
    public boolean accept(File pathname) 
    { 
     return !(pathname.getPath().endsWith("file.tmp") || !pathname.getPath().endsWith("file.temp")); 
    } 
}; 
+0

세상에 내가 거라고'|| '로 대체해야 idn't는 그것을주의하고 덕분에 작동했다 –

+0

잘 정성 들여 보내십시오. –