2016-08-01 65 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"))); 
      } 
     }; 
+0

如果您只想排除是'file.tmp'或'file.temp',那么''&&在你的第二个代码段应与''|| OMG – 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"); 
    } 
}; 

||

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

I D取代idn't通知它,并感谢它的工作 –

+0

精心制作。 –