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 :(得分: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"));
}
};