Example usage for org.apache.commons.io.filefilter AndFileFilter AndFileFilter

List of usage examples for org.apache.commons.io.filefilter AndFileFilter AndFileFilter

Introduction

In this page you can find the example usage for org.apache.commons.io.filefilter AndFileFilter AndFileFilter.

Prototype

public AndFileFilter() 

Source Link

Document

Constructs a new instance of AndFileFilter.

Usage

From source file:net.sf.jvifm.control.FindCommand.java

private IOFileFilter findingFilter(CommandLine cmdLine) {

    AndFileFilter filters = new AndFileFilter();
    Option[] options = cmdLine.getOptions();
    for (int i = 0; i < options.length; i++) {
        IOFileFilter filter = createFilter(options[i].getLongOpt(), options[i].getValue());
        filters.addFileFilter(filter);/*ww w. ja  va2 s.  c o  m*/
    }
    return filters;
}

From source file:org.kawanfw.file.test.run.filter.BuiltInFilterTest.java

/**
 * @throws MalformedURLException/*from  w  w  w.jav a 2s .  c om*/
 * @throws UnknownHostException
 * @throws ConnectException
 * @throws SocketException
 * @throws InvalidLoginException
 * @throws RemoteException
 * @throws IOException
 * @throws SecurityException
 */
public void doIt(RemoteSession remoteSession)
        throws MalformedURLException, UnknownHostException, ConnectException, SocketException,
        InvalidLoginException, RemoteException, IOException, SecurityException {

    RemoteFile file = new RemoteFile(remoteSession, "/");

    // List all text files in out root directory
    // using an Apache Commons FileFiter

    AndFileFilter andFileFilter = new AndFileFilter();
    andFileFilter.addFileFilter(new SuffixFileFilter(".txt"));

    RemoteFile[] files = file.listFiles((FileFilter) andFileFilter);
    for (RemoteFile remoteFile : files) {
        MessageDisplayer.display("Remote text file: " + remoteFile);
    }

    MessageDisplayer.display();
    MessageDisplayer.display("file.listFiles( new SuffixFileFilter(\".txt\") " + file);
    MessageDisplayer.display("RemoteFile [] files.length: " + files.length);
    for (int i = 0; i < files.length; i++) {
        Assert.assertTrue("file is file", files[i].isFile());
        Assert.assertTrue("file is a text file", files[i].toString().endsWith(".txt"));
        MessageDisplayer.display(files[i]);

    }

    FileFilter fileFilter = FileFileFilter.FILE;

    files = file.listFiles(fileFilter);
    MessageDisplayer.display();
    MessageDisplayer.display("file.listFiles(FileFileFilter.FILE) " + file);
    if (files == null) {
        MessageDisplayer.display("remote directory is empty: " + file);
    } else {
        MessageDisplayer.display("RemoteFile [] files.length: " + files.length);
        for (int i = 0; i < files.length; i++) {
            MessageDisplayer.display(files[i]);
            Assert.assertTrue("file is non-directory", files[i].isFile());
        }
    }

    fileFilter = DirectoryFileFilter.DIRECTORY;

    files = file.listFiles(fileFilter);
    MessageDisplayer.display();
    MessageDisplayer.display("file.listFiles(DirectoryFileFilter.DIRECTORY) " + file);
    if (files == null) {
        MessageDisplayer.display("remote directory is empty: " + file);
    } else {
        MessageDisplayer.display("RemoteFile [] files.length: " + files.length);
        for (int i = 0; i < files.length; i++) {
            Assert.assertTrue("file is directory", files[i].isDirectory());
            MessageDisplayer.display(files[i]);
        }
    }

    MessageDisplayer.display();

    // Force huge filter test
    andFileFilter = new AndFileFilter();
    int cpt = 0;
    while (cpt < 500) {
        cpt++;
        andFileFilter.addFileFilter(new SuffixFileFilter(".txt"));
    }

    String serialFilterBase64 = new ClassSerializer<FileFilter>().toBase64(andFileFilter);
    System.out.println("serialFilterBase64 size: " + (serialFilterBase64.length() / 1024) + " Kb.");

    files = file.listFiles((FileFilter) andFileFilter);
    for (RemoteFile remoteFile : files) {
        MessageDisplayer.display("Remote text file with huge FileFilter: " + remoteFile);
    }

    MessageDisplayer.display();
    MessageDisplayer.display("file.listFiles( new SuffixFileFilter(\".txt\") " + file);
    MessageDisplayer.display("RemoteFile [] files.length: " + files.length);
    for (int i = 0; i < files.length; i++) {
        Assert.assertTrue("file is file", files[i].isFile());
        Assert.assertTrue("file is a text file", files[i].toString().endsWith(".txt"));
        MessageDisplayer.display(files[i]);

    }

    MessageDisplayer.display();
    System.out.println("serialFilterBase64 size: " + (serialFilterBase64.length() / 1024) + " Kb.");

    String[] filesStr = file.list((FilenameFilter) andFileFilter);
    for (String fileStr : filesStr) {
        MessageDisplayer.display("Remote text file with huge FilenameFilter: " + fileStr);
    }

    MessageDisplayer.display();
    MessageDisplayer.display("file.list( new SuffixFileFilter(\".txt\") " + file);
    MessageDisplayer.display("String [] filesStr: " + filesStr.length);
    for (int i = 0; i < filesStr.length; i++) {
        Assert.assertTrue("file is a text file", filesStr[i].endsWith(".txt"));
        MessageDisplayer.display(filesStr[i]);

    }

}

From source file:org.kuali.kfs.sys.batch.FilePurgeCustomAge.java

/**
 * @return an IOFileFilter which represents the files that should be culled by this FilePurgeCustomAge
 *//*from w  w  w . ja  va  2  s  . c om*/
public IOFileFilter getFileFilter() {
    AndFileFilter andFileFilter = new AndFileFilter();
    MaxAgePurgeFileFilter maxAgeFilter = new MaxAgePurgeFileFilter(this);
    DirectoryNameFileFilter directoryNameFilter = new DirectoryNameFileFilter(this);
    andFileFilter.addFileFilter(maxAgeFilter);
    andFileFilter.addFileFilter(directoryNameFilter);
    return andFileFilter;
}

From source file:org.kuali.kfs.sys.batch.service.impl.FilePurgeServiceImpl.java

/**
 * Gets the directory walker for the default directories
 * @param customAges the custom ages, because custom age directories will not be purged
 * @return a new FilePurgeDirectoryWalker
 *//*from w w  w. j ava 2 s .  c  o  m*/
protected FilePurgeDirectoryWalker getDefaultDirectoryWalker(List<FilePurgeCustomAge> customAges) {
    IOFileFilter ageFileFilter = buildDefaultAgeFileFilter();
    if (customAges != null && customAges.size() > 0) {
        AndFileFilter andFileFilter = new AndFileFilter();
        andFileFilter.addFileFilter(ageFileFilter);
        andFileFilter.addFileFilter(buildAnyDirectoryButCustomAgeDirectoryFileFilter(customAges));
        return new FilePurgeDirectoryWalker(andFileFilter);
    } else {
        return new FilePurgeDirectoryWalker(ageFileFilter);
    }
}

From source file:uniol.apt.tasks.ParsableTask.java

/**
 * Program entry point. Arguments are output directory and directory to scan.
 * @param args Program arguments.//from   w w w  .  ja  va2s  .c o  m
 */
public static void main(String[] args) {
    if (args.length < 2)
        throw new IllegalArgumentException("Need at least two arguments: Output directory, directory to scan");

    File outputdir = new File(args[0]);
    File baseFile = new File(args[1]);

    if (!outputdir.exists())
        outputdir.mkdirs();
    if (!outputdir.isDirectory()) {
        System.err.println("Output directory is not a directory: " + outputdir);
        System.exit(1);
    }

    // Parse patterns given on the argument. A leading ! negates the pattern.
    AndFileFilter filter = new AndFileFilter();
    IOFileFilter negatedFilter = new NotFileFilter(filter);
    for (int i = 2; i < args.length; i++) {
        String arg = args[i];
        String wildcard = arg;
        boolean negate = wildcard.startsWith("!");

        if (negate)
            wildcard = arg.substring(1);
        IOFileFilter newFilter = new WildcardFileFilter(wildcard);
        if (negate)
            newFilter = new NotFileFilter(newFilter);
        filter.addFileFilter(newFilter);
    }

    // Get all excluded files
    Collection<File> excludedFiles = FileUtils.listFiles(baseFile, negatedFilter, TrueFileFilter.INSTANCE);

    // Now do the job
    boolean fail = false;
    List<AbstractParserTester> testers = new ArrayList<>();
    try {
        try {
            testers.add(new ParserTester<>(new RegexParser(), outputdir));
            testers.addAll(constructParserTesters(outputdir, PNParsers.INSTANCE, "genet"));
            testers.addAll(constructParserTesters(outputdir, LTSParsers.INSTANCE));
        } catch (FileNotFoundException | UnsupportedEncodingException e) {
            throw new RuntimeException(e);
        }

        for (File file : FileUtils.listFiles(baseFile, TrueFileFilter.INSTANCE, TrueFileFilter.INSTANCE)) {
            String relativePath = baseFile.toURI().relativize(file.toURI()).getPath();
            boolean excluded = excludedFiles.contains(file);
            if (!parseFile(testers, file, relativePath, excluded))
                fail = true;
        }
    } finally {
        if (testers != null)
            for (AbstractParserTester tester : testers)
                tester.close();
    }

    if (!fail)
        return;
    System.err.println("Errors found; see above messages.");
    System.exit(1);
}