需要文件过滤器修改

时间:2016-08-01 06:48:11

标签: java android apache

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")));
            }
        };

1 个答案:

答案 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"));
    }
};