List of usage examples for org.apache.commons.io.filefilter AndFileFilter addFileFilter
public void addFileFilter(final IOFileFilter ioFileFilter)
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); }/*from w w w .j ava2 s. c o m*/ return filters; }
From source file:org.kawanfw.file.test.run.filter.BuiltInFilterTest.java
/** * @throws MalformedURLException//from w w w . j a va2s .c o m * @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 v a2s. c o m*/ 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 *//* w ww .ja va 2 s .c om*/ 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 ww . jav a 2 s .co 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); }