Java 类org.apache.commons.io.filefilter.IOFileFilter 实例源码

项目:atlas    文件:NativeSoUtils.java   
/**
 * Verify the directory of the so file under the abi
 *
 * @param supportAbis
 * @param removeSoFiles
 * @param dirs
 * @return
 */
public static Map<String, Multimap<String, File>> getAbiSoFiles(Set<String> supportAbis, Set<String> removeSoFiles,
                                                                List<File> dirs) {
    Map<String, Multimap<String, File>> result = new HashMap<String, Multimap<String, File>>();
    IOFileFilter filter = new NativeSoFilter(supportAbis, removeSoFiles);
    for (File dir : dirs) {
        Collection<File> files = FileUtils.listFiles(dir, filter, TrueFileFilter.TRUE);
        for (File file : files) {
            File parentFolder = file.getParentFile();
            String parentName = parentFolder.getName();
            String shortName = getSoShortName(file);
            Multimap<String, File> maps = result.get(parentName);
            if (null == maps) {
                maps = HashMultimap.create(10, 3);
            }
            maps.put(shortName, file);
            result.put(parentName, maps);
        }

    }
    return result;
}
项目:convertigo-engine    文件:MobileBuilder.java   
private void updateConfigurationFiles() throws EngineException {
    try {
        IOFileFilter fileFilter = FileFilterUtils.or(FileFilterUtils.suffixFileFilter("json"),FileFilterUtils.suffixFileFilter("xml"),FileFilterUtils.suffixFileFilter("js"));
        IOFileFilter dirFilter = FileFilterUtils.or(FileFilterUtils.nameFileFilter("config"));
        for (File f: FileUtils.listFiles(ionicWorkDir, fileFilter, dirFilter)) {
            String content = FileUtils.readFileToString(f, "UTF-8");
            content = content.replaceAll("../DisplayObjects","../../DisplayObjects");
            content = content.replaceAll("../Flashupdate","../../Flashupdate");
            writeFile(f, content, "UTF-8");
        }
        Engine.logEngine.debug("(MobileBuilder) Configuration files updated for ionic project '"+ project.getName() +"'");
    }
    catch (Exception e) {
        throw new EngineException("Unable to update configuration files for ionic project '"+ project.getName() +"'",e);
    }
}
项目:lams    文件:FileUtils.java   
/**
 * Finds files within a given directory (and optionally its
 * subdirectories). All files found are filtered by an IOFileFilter.
 *
 * @param files the collection of files found.
 * @param directory the directory to search in.
 * @param filter the filter to apply to files and directories.
 * @param includeSubDirectories indicates if will include the subdirectories themselves
 */
private static void innerListFiles(Collection<File> files, File directory,
        IOFileFilter filter, boolean includeSubDirectories) {
    File[] found = directory.listFiles((FileFilter) filter);

    if (found != null) {
        for (File file : found) {
            if (file.isDirectory()) {
                if (includeSubDirectories) {
                    files.add(file);
                }
                innerListFiles(files, file, filter, includeSubDirectories);
            } else {
                files.add(file);
            }
        }
    }
}
项目:util4j    文件:FileMonitor.java   
/**
 * 只监控文件发送变化,如果是子目录的文件改变,则目录会变,由于没有过滤目录发生变化,则目录下的文件改变不会监控到
 * @param dir
 * @throws Exception 
 */
public void check1(String dir) throws Exception
{
    File directory = new File(dir);
    // 轮询间隔 5 秒
    long interval = TimeUnit.SECONDS.toMillis(5);
    // 创建一个文件观察器用于处理文件的格式
    IOFileFilter filter=FileFilterUtils.or(FileFilterUtils.suffixFileFilter(".class"),
            FileFilterUtils.suffixFileFilter(".jar"));
    FileAlterationObserver observer = new FileAlterationObserver(directory,filter);
    //设置文件变化监听器
    observer.addListener(new MyFileListener());
    FileAlterationMonitor monitor = new FileAlterationMonitor(interval);
    monitor.addObserver(observer);//文件观察
    monitor.start();
}
项目:util4j    文件:FileMonitor.java   
public void check2(String dir) throws Exception
    {
        File directory = new File(dir);
        // 轮询间隔 5 秒
        long interval = TimeUnit.SECONDS.toMillis(5);
        //后缀过滤器
        IOFileFilter filefilter=FileFilterUtils.or(FileFilterUtils.suffixFileFilter(".class"),
                FileFilterUtils.suffixFileFilter(".jar"));
        //子目录的后缀
        IOFileFilter subFilefilter=FileFilterUtils.or(FileFilterUtils.directoryFileFilter(),filefilter);
        //根目录和子目录变化
        IOFileFilter filter = FileFilterUtils.or(filefilter,subFilefilter);
        FileAlterationObserver observer = new FileAlterationObserver(directory,filter);
        //设置文件变化监听器
        observer.addListener(new MyFileListener());
        FileAlterationMonitor monitor = new FileAlterationMonitor(interval);
        monitor.addObserver(observer);//文件观察
        monitor.start();
//      monitor.addObserver(observer);//文件观察,如果在start后面加,则会触发所有文件创建
    }
项目:Backmemed    文件:ResourcePackRepository.java   
/**
 * Keep only the 10 most recent resources packs, delete the others
 */
private void deleteOldServerResourcesPacks()
{
    try
    {
        List<File> list = Lists.newArrayList(FileUtils.listFiles(this.dirServerResourcepacks, TrueFileFilter.TRUE, (IOFileFilter)null));
        Collections.sort(list, LastModifiedFileComparator.LASTMODIFIED_REVERSE);
        int i = 0;

        for (File file1 : list)
        {
            if (i++ >= 10)
            {
                LOGGER.info("Deleting old server resource pack {}", new Object[] {file1.getName()});
                FileUtils.deleteQuietly(file1);
            }
        }
    }
    catch (IllegalArgumentException illegalargumentexception)
    {
        LOGGER.error("Error while deleting old server resource pack : {}", new Object[] {illegalargumentexception.getMessage()});
    }
}
项目:CustomWorldGen    文件:ResourcePackRepository.java   
/**
 * Keep only the 10 most recent resources packs, delete the others
 */
private void deleteOldServerResourcesPacks()
{
    try
    {
        List<File> list = Lists.newArrayList(FileUtils.listFiles(this.dirServerResourcepacks, TrueFileFilter.TRUE, (IOFileFilter)null));
        Collections.sort(list, LastModifiedFileComparator.LASTMODIFIED_REVERSE);
        int i = 0;

        for (File file1 : list)
        {
            if (i++ >= 10)
            {
                LOGGER.info("Deleting old server resource pack {}", new Object[] {file1.getName()});
                FileUtils.deleteQuietly(file1);
            }
        }
    }
    catch (IllegalArgumentException illegalargumentexception)
    {
        LOGGER.error("Error while deleting old server resource pack : {}", new Object[] {illegalargumentexception.getMessage()});
    }
}
项目:CreativeBlock    文件:FolderBlockPack.java   
private static IOFileFilter definitionsFilter()
{
    return new IOFileFilter()
    {
        @Override
        public boolean accept(File file)
        {
            return file.isFile();
        }

        @Override
        public boolean accept(File dir, String name)
        {
            return name.endsWith(".json");
        }
    };
}
项目:CreativeBlock    文件:FolderBlockPack.java   
private static IOFileFilter textureFilter()
{
    return new IOFileFilter()
    {
        @Override
        public boolean accept(File file)
        {
            return file.isFile();
        }

        @Override
        public boolean accept(File dir, String name)
        {
            return name.endsWith(".png");
        }
    };
}
项目:SearchInJenkinsLogs    文件:FileHelper.java   
/**
 * Get a IOFileFilter instance which filter files containing filter value.
 *
 * @param filter
 * @return
 */
public IOFileFilter getFilesFilter(final String filter) {
    IOFileFilter fileFilter = new IOFileFilter() {

        @Override
        public boolean accept(File dir, String name) {
            return dir.getName().contains(name);
        }

        @Override
        public boolean accept(File file) {
            return file.getName().contains(filter);
        }
    };

    return fileFilter;
}
项目:spring-boot    文件:RecursiveExample.java   
/**
 * 找到满足条件的文件,把结果保存到函数的参数中。files 不能在本函数中初始化,因为用到了递归,如果初始化的话,会
 */
private Collection<File> listFiles(File directory, IOFileFilter filter, boolean includeSubDirectories) {

    File[] found = directory.listFiles((FileFilter) filter);

    if (found != null) {
        for (File file : found) {
            if (file.isDirectory()) {
                if (includeSubDirectories) {
                    files.add(file);
                }
                listFiles(file, filter, includeSubDirectories);
            } else {
                files.add(file);
            }
        }
    }
    return files;
}
项目:WidgetStore    文件:FileUtils.java   
/**
 * Finds files within a given directory (and optionally its
 * subdirectories). All files found are filtered by an IOFileFilter.
 *
 * @param files                 the collection of files found.
 * @param directory             the directory to search in.
 * @param filter                the filter to apply to files and directories.
 * @param includeSubDirectories indicates if will include the subdirectories themselves
 */
private static void innerListFiles(final Collection<File> files, final File directory,
                                   final IOFileFilter filter, final boolean includeSubDirectories) {
    final File[] found = directory.listFiles((FileFilter) filter);

    if (found != null) {
        for (final File file : found) {
            if (file.isDirectory()) {
                if (includeSubDirectories) {
                    files.add(file);
                }
                innerListFiles(files, file, filter, includeSubDirectories);
            } else {
                files.add(file);
            }
        }
    }
}
项目:confucius-commons    文件:SimpleFileScanner.java   
/**
 * Scan all {@link File} {@link Set} that are accepted by {@link IOFileFilter} under root directory
 *
 * @param rootDirectory
 *         Root directory
 * @param recursive
 *         is recursive on sub directories
 * @param ioFileFilter
 *         {@link IOFileFilter}
 * @return Read-only {@link Set} , and the order be dependent on {@link File#listFiles()} implementation
 * @see IOFileFilter
 * @since 1.0.0
 */
@Nonnull
public Set<File> scan(File rootDirectory, boolean recursive, IOFileFilter ioFileFilter) {

    final Set<File> filesSet = Sets.newLinkedHashSet();

    if (ioFileFilter.accept(rootDirectory)) {
        filesSet.add(rootDirectory);
    }

    File[] subFiles = rootDirectory.listFiles();

    if (subFiles != null) {
        for (File subFile : subFiles) {
            if (ioFileFilter.accept(subFile)) {
                filesSet.add(subFile);
            }
            if (recursive && subFile.isDirectory()) {
                filesSet.addAll(this.scan(subFile, recursive, ioFileFilter));
            }
        }
    }
    return Collections.unmodifiableSet(filesSet);
}
项目:JAATP    文件:FileUtils.java   
/**
 * Finds files within a given directory (and optionally its
 * subdirectories). All files found are filtered by an IOFileFilter.
 *
 * @param files                 the collection of files found.
 * @param directory             the directory to search in.
 * @param filter                the filter to apply to files and directories.
 * @param includeSubDirectories indicates if will include the subdirectories themselves
 */
private static void innerListFiles(final Collection<File> files, final File directory,
                                   final IOFileFilter filter, final boolean includeSubDirectories) {
    final File[] found = directory.listFiles((FileFilter) filter);

    if (found != null) {
        for (final File file : found) {
            if (file.isDirectory()) {
                if (includeSubDirectories) {
                    files.add(file);
                }
                innerListFiles(files, file, filter, includeSubDirectories);
            } else {
                files.add(file);
            }
        }
    }
}
项目:mdetect    文件:FileScanUtils.java   
public static List<String> findGitRepos(String dirPath) {
    File dir = new File(dirPath);
    IOFileFilter gitDirFilter = (IOFileFilter) FileFilterUtils.suffixFileFilter(".git");
    IOFileFilter notFile = FileFilterUtils.notFileFilter(TrueFileFilter.INSTANCE);
    IOFileFilter compositeFilter = FileFilterUtils.and(notFile, gitDirFilter);

    List<File> files = (List<File>) FileUtils.listFilesAndDirs(dir,compositeFilter,DirectoryFileFilter.INSTANCE);
    List<String> results = new ArrayList<String>();
    for(File f: files) {
        try {
            if(!f.getCanonicalPath().endsWith("/.git"))
                continue;

            String gitStripped = f.getCanonicalPath().replace("/.git", "");
            System.out.println(gitStripped);
            results.add(gitStripped);

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return results;
}
项目:mdetect    文件:FileScanUtils.java   
public static List<String> findFilesToAnalyze(String dirPath) {
    IOFileFilter gitFilter = FileFilterUtils.notFileFilter(
                    FileFilterUtils.nameFileFilter(".git")
            );
    File dir = new File(dirPath);
    String[] phpExt = new String[] {"php"};
    IOFileFilter phpFilter = new SuffixFileFilter(phpExt, IOCase.INSENSITIVE);
    List<File> files = (List<File>) FileUtils.listFiles(dir, phpFilter, gitFilter);
    List<String> results = new ArrayList<String>();
    for (File f : files) {
        try {
            results.add(f.getCanonicalPath());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    return results;
}
项目:japi    文件:ProjectImpl.java   
@Override
public List<IPackage> getPackages() {
    String masterProjectActionPath = JapiClient.getConfig().getPrefixPath() + JapiClient.getConfig().getProjectJavaPath() + JapiClient.getConfig().getPostfixPath() + "/" + JapiClient.getConfig().getActionReletivePath();
    File actionFold = new File(masterProjectActionPath);
    if (!actionFold.exists()) {
        throw new JapiException(masterProjectActionPath + " fold not exists.");
    }
    final IOFileFilter dirFilter = FileFilterUtils.asFileFilter(new FileFilter() {
        @Override
        public boolean accept(File pathname) {
            return pathname.isDirectory();
        }
    });
    Collection<File> folds = FileUtils.listFilesAndDirs(actionFold, dirFilter, TrueFileFilter.INSTANCE);
    List<IPackage> packages = new ArrayList<>(folds.size());
    for (File fold : folds) {
        if (!fold.getAbsolutePath().equals(actionFold.getAbsolutePath())) {
            PackageImpl packageImpl = new PackageImpl();
            packageImpl.setPackageFold(fold);
            packages.add(packageImpl);
        }
    }
    return packages;
}
项目:japi    文件:PackageImpl.java   
@Override
public List<IAction> getActions() {
    final IOFileFilter dirFilter = FileFilterUtils.asFileFilter(new FileFilter() {
        @Override
        public boolean accept(File pathname) {
            return pathname.getName().endsWith(".java") && !pathname.getName().equals("package-info.java");
        }
    });
    Collection<File> actionFiles = FileUtils.listFiles(packageFold, dirFilter, null);
    List<IAction> actions = new ArrayList<>();
    for (File actionFile : actionFiles) {
        ActionImpl action = new ActionImpl();
        action.setActionFile(actionFile);
        actions.add(action);
    }
    return actions;
}
项目:textokit-core    文件:CorpusUtils.java   
public static List<CorpusSplit> createCrossValidationSplits(File corpusDir,
                                                            IOFileFilter corpusFileFilter, IOFileFilter corpusSubDirFilter,
                                                            final int foldsNum) {
    List<Set<File>> corpusPartitions = partitionCorpusByFileSize(
            corpusDir, corpusFileFilter, corpusSubDirFilter, foldsNum);
    List<CorpusSplit> result = Lists.newArrayListWithExpectedSize(foldsNum);
    for (int f = 0; f < foldsNum; f++) {
        Set<File> trainingSet = Sets.newLinkedHashSet();
        Set<File> testingSet = corpusPartitions.get(f);
        // fill training set
        for (int i = 0; i < corpusPartitions.size(); i++) {
            if (i != f) {
                trainingSet.addAll(corpusPartitions.get(i));
            }
        }
        Function<File, String> relPathFunc = relativePathFunction(corpusDir);
        result.add(new DefaultCorpusSplit(
                transform(trainingSet, relPathFunc),
                transform(testingSet, relPathFunc)));
    }
    // sanity check
    if (result.size() != foldsNum) {
        throw new IllegalStateException();
    }
    return result;
}
项目:project-build-plugin    文件:FileLogForwarder.java   
public synchronized void activate() throws MojoExecutionException
{   
  IOFileFilter logFilter = FileFilterUtils.and(
          FileFilterUtils.fileFileFilter(),
          FileFilterUtils.nameFileFilter(engineLog.getName()));
  FileAlterationObserver fileObserver = new FileAlterationObserver(engineLog.getParent(), logFilter);
  fileObserver.addListener(new LogModificationListener());
  monitor = new FileAlterationMonitor(100);
  monitor.addObserver(fileObserver);
  try
  {
    monitor.start();
  }
  catch (Exception ex)
  {
    throw new MojoExecutionException("Failed to activate deploy log forwarder", ex);
  }
}
项目:adalid    文件:FileBrowser.java   
private IOFileFilter fileFilter() {
    IOFileFilter fileFileFilter = FileFilterUtils.fileFileFilter();
    IOFileFilter[] noes = new IOFileFilter[]{
        new RegexFileFilter(B + X + D + "class" + E),
        new RegexFileFilter(B + X + D + "db" + E),
        new RegexFileFilter(B + X + D + "ear" + E),
        new RegexFileFilter(B + X + D + "err" + E),
        new RegexFileFilter(B + X + D + "gif" + E),
        new RegexFileFilter(B + X + D + "jar" + E),
        new RegexFileFilter(B + X + D + "jpg" + E),
        new RegexFileFilter(B + X + D + "lnk" + E),
        new RegexFileFilter(B + X + D + "log" + E),
        new RegexFileFilter(B + X + D + "nbm" + E),
        new RegexFileFilter(B + X + D + "out" + E),
        new RegexFileFilter(B + X + D + "png" + E),
        new RegexFileFilter(B + X + D + "war" + E),
        new RegexFileFilter(B + X + D + "zip" + E)
    };
    IOFileFilter noesFileFilter = FileFilterUtils.notFileFilter(FileFilterUtils.or(noes));
    IOFileFilter filter = FileFilterUtils.and(fileFileFilter, noesFileFilter);
    return filter;
}
项目:VectorAttackScanner    文件:FileUtils.java   
/**
 * Finds files within a given directory (and optionally its
 * subdirectories). All files found are filtered by an IOFileFilter.
 *
 * @param files the collection of files found.
 * @param directory the directory to search in.
 * @param filter the filter to apply to files and directories.
 * @param includeSubDirectories indicates if will include the subdirectories themselves
 */
private static void innerListFiles(Collection<File> files, File directory,
        IOFileFilter filter, boolean includeSubDirectories) {
    File[] found = directory.listFiles((FileFilter) filter);

    if (found != null) {
        for (File file : found) {
            if (file.isDirectory()) {
                if (includeSubDirectories) {
                    files.add(file);
                }
                innerListFiles(files, file, filter, includeSubDirectories);
            } else {
                files.add(file);
            }
        }
    }
}
项目:Java-MyCopies    文件:FileUtils.java   
/**
 * Finds files within a given directory (and optionally its
 * subdirectories). All files found are filtered by an IOFileFilter.
 *
 * @param files the collection of files found.
 * @param directory the directory to search in.
 * @param filter the filter to apply to files and directories.
 * @param includeSubDirectories indicates if will include the subdirectories themselves
 */
private static void innerListFiles(Collection<File> files, File directory,
        IOFileFilter filter, boolean includeSubDirectories) {
    File[] found = directory.listFiles((FileFilter) filter);

    if (found != null) {
        for (File file : found) {
            if (file.isDirectory()) {
                if (includeSubDirectories) {
                    files.add(file);
                }
                innerListFiles(files, file, filter, includeSubDirectories);
            } else {
                files.add(file);
            }
        }
    }
}
项目:artifactory    文件:StartArtifactoryDev.java   
/**
 * Copy newer files from the standalone dir to the working artifactory home dir
 */
private static void copyNewerDevResources(File devEtcDir, File artHome) throws IOException {
    File homeEtcDir = new File(artHome, "etc");
    IOFileFilter fileFilter = new NewerFileFilter(devEtcDir, homeEtcDir);
    fileFilter = FileFilterUtils.makeSVNAware(fileFilter);
    FileUtils.copyDirectory(devEtcDir, homeEtcDir, fileFilter, true);
    updateDefaultMimetypes(homeEtcDir);
    deleteHaProps(homeEtcDir);
    /**
     * If the bootstrap already exists, it means it's not the first startup, so don't keep the original config file
     * or the etc folder will flood with bootstrap files
     */
    if (new File(homeEtcDir, ArtifactoryHome.ARTIFACTORY_CONFIG_BOOTSTRAP_FILE).exists()) {
        new File(homeEtcDir, ArtifactoryHome.ARTIFACTORY_CONFIG_FILE).delete();
    }
}
项目:artifactory    文件:DbRepoExportHandler.java   
private void cleanupIncrementalBackupDirectory(FolderInfo sourceFolder, List<ItemInfo> currentFolderChildren,
        File targetDir) {

    //Metadata File filter
    IOFileFilter metadataFilter = new MetadataFileFilter();

    //List all artifacts
    Collection<File> artifacts = Sets.newHashSet(
            targetDir.listFiles((FileFilter) new NotFileFilter(metadataFilter)));
    cleanArtifacts(currentFolderChildren, artifacts);

    //List all sub-target metadata
    Collection<File> subTargetMetadataFiles = FileUtils.listFiles(targetDir, metadataFilter,
            DirectoryFileFilter.INSTANCE);
    cleanMetadata(currentFolderChildren, subTargetMetadataFiles);

    //List all target metadata
    File targetDirMetadataContainerFolder = getMetadataContainerFolder(targetDir);
    Collection<File> targetMetadataFiles = FileUtils.listFiles(targetDirMetadataContainerFolder, metadataFilter,
            DirectoryFileFilter.INSTANCE);
    cleanTargetMetadata(sourceFolder, targetMetadataFiles);
}
项目:varOne    文件:ThreadPoolMetricsReaderTest.java   
private void assertContent(IOFileFilter filter, Map<String, List<MetricTuple>> result) throws IOException{
    for(Entry<String, List<MetricTuple>> entry: result.entrySet()){
        File logFile =  new File(metricsDir+"//"+entry.getKey());
        assertTrue(filter.accept(logFile));
        int lineNum = 0;
        List<MetricTuple> tuples = entry.getValue();
        List<String> lines = FileUtils.readLines(logFile);
        lines.remove(0);
        for(MetricTuple tuple: tuples){
            String[] pair = lines.get(lineNum).split(",");
            assertEquals(pair[0], String.valueOf(tuple.getTime()));
            assertEquals(pair[1], tuple.getValue());
            lineNum++;
        }
    }
}
项目:varOne    文件:FsMetricsReaderTest.java   
private void assertContent(IOFileFilter filter, Map<String, List<MetricTuple>> result) throws IOException{
    for(Entry<String, List<MetricTuple>> entry: result.entrySet()){
        File logFile =  new File(metricsDir+"//"+entry.getKey());
        assertTrue(filter.accept(logFile));
        int lineNum = 0;
        List<MetricTuple> tuples = entry.getValue();
        List<String> lines = FileUtils.readLines(logFile);
        lines.remove(0);
        for(MetricTuple tuple: tuples){
            String[] pair = lines.get(lineNum).split(",");
            assertEquals(pair[0], String.valueOf(tuple.getTime()));
            assertEquals(pair[1], tuple.getValue());
            lineNum++;
        }
    }
}
项目:Moenagade    文件:FileUtils.java   
/**
 * Finds files within a given directory (and optionally its
 * subdirectories). All files found are filtered by an IOFileFilter.
 *
 * @param files the collection of files found.
 * @param directory the directory to search in.
 * @param filter the filter to apply to files and directories.
 */
private static void innerListFiles(Collection<File> files, File directory,
        IOFileFilter filter) {
    File[] found = directory.listFiles((FileFilter) filter);
    if (found != null) {
        for (File file : found) {
            if (file.isDirectory()) {
                innerListFiles(files, file, filter);
            } else {
                files.add(file);
            }
        }
    }
}
项目:Moenagade    文件:FileUtils.java   
/**
 * Finds files within a given directory (and optionally its
 * subdirectories). All files found are filtered by an IOFileFilter.
 * <p>
 * If your search should recurse into subdirectories you can pass in
 * an IOFileFilter for directories. You don't need to bind a
 * DirectoryFileFilter (via logical AND) to this filter. This method does
 * that for you.
 * <p>
 * An example: If you want to search through all directories called
 * "temp" you pass in <code>FileFilterUtils.NameFileFilter("temp")</code>
 * <p>
 * Another common usage of this method is find files in a directory
 * tree but ignoring the directories generated CVS. You can simply pass
 * in <code>FileFilterUtils.makeCVSAware(null)</code>.
 *
 * @param directory  the directory to search in
 * @param fileFilter  filter to apply when finding files.
 * @param dirFilter  optional filter to apply when finding subdirectories.
 * If this parameter is <code>null</code>, subdirectories will not be included in the
 * search. Use TrueFileFilter.INSTANCE to match all directories.
 * @return an collection of java.io.File with the matching files
 * @see org.apache.commons.io.filefilter.FileFilterUtils
 * @see org.apache.commons.io.filefilter.NameFileFilter
 */
public static Collection<File> listFiles(
        File directory, IOFileFilter fileFilter, IOFileFilter dirFilter) {
    if (!directory.isDirectory()) {
        throw new IllegalArgumentException(
                "Parameter 'directory' is not a directory");
    }
    if (fileFilter == null) {
        throw new NullPointerException("Parameter 'fileFilter' is null");
    }

    //Setup effective file filter
    IOFileFilter effFileFilter = FileFilterUtils.and(fileFilter,
        FileFilterUtils.notFileFilter(DirectoryFileFilter.INSTANCE));

    //Setup effective directory filter
    IOFileFilter effDirFilter;
    if (dirFilter == null) {
        effDirFilter = FalseFileFilter.INSTANCE;
    } else {
        effDirFilter = FileFilterUtils.and(dirFilter,
            DirectoryFileFilter.INSTANCE);
    }

    //Find files
    Collection<File> files = new java.util.LinkedList<File>();
    innerListFiles(files, directory,
        FileFilterUtils.or(effFileFilter, effDirFilter));
    return files;
}
项目:DecompiledMinecraft    文件:ResourcePackRepository.java   
private void func_183028_i()
{
    List<File> list = Lists.newArrayList(FileUtils.listFiles(this.dirServerResourcepacks, TrueFileFilter.TRUE, (IOFileFilter)null));
    Collections.sort(list, LastModifiedFileComparator.LASTMODIFIED_REVERSE);
    int i = 0;

    for (File file1 : list)
    {
        if (i++ >= 10)
        {
            logger.info("Deleting old server resource pack " + file1.getName());
            FileUtils.deleteQuietly(file1);
        }
    }
}
项目:atlas    文件:NativeSoUtils.java   
/**
 * @param localNativeLibrariesDirectory
 * @param destinationDirectory
 * @param supportAbis                   Type of architecture supported
 * @param removeSoFiles
 */
public static void copyLocalNativeLibraries(final File localNativeLibrariesDirectory,
                                            final File destinationDirectory, Set<String> supportAbis,
                                            Set<String> removeSoFiles) {
    sLogger.info("Copying existing native libraries from " + localNativeLibrariesDirectory + " to "
                     + destinationDirectory);
    try {
        IOFileFilter filter = new NativeSoFilter(supportAbis, removeSoFiles);
        // First, determine whether there is a file of the same name, if there is a discrepancy
        Collection<File> files = FileUtils.listFiles(localNativeLibrariesDirectory, filter, TrueFileFilter.TRUE);
        List<String> dumpFiles = new ArrayList<String>();
        for (File file : files) {
            String relativePath = getRelativePath(localNativeLibrariesDirectory, file);
            File destFile = new File(destinationDirectory, relativePath);
            if (destFile.exists()) {
                String orgFileMd5 = MD5Util.getFileMD5(file);
                String destFileMd5 = MD5Util.getFileMD5(destFile);
                if (!orgFileMd5.equals(destFileMd5)) {
                    dumpFiles.add(file.getAbsolutePath() + " to " + destFile.getAbsolutePath());
                }
            }
        }
        if (dumpFiles.size() > 0) {
            throw new RuntimeException("Copy native so error,duplicate file exist!:\n"
                                           + StringUtils.join(dumpFiles, "\n"));
        }
        FileUtils.copyDirectory(localNativeLibrariesDirectory, destinationDirectory, filter);
    } catch (IOException e) {
        throw new RuntimeException("Could not copy native dependency.", e);
    }
}
项目:util4j    文件:DefaultClassSource.java   
protected IOFileFilter buildFilterBySuffixs(String directory,String ...suffixs)
{
    IOFileFilter iOFileFilter=FileFilterUtils.directoryFileFilter(); //子目录变化
    for(String suffix:suffixs)
    {//后缀过滤器
        iOFileFilter=FileFilterUtils.or(iOFileFilter,FileFilterUtils.suffixFileFilter(suffix));
    }
    return iOFileFilter;
}
项目:util4j    文件:DefaultClassSource.java   
protected IOFileFilter buildFilterByNames(String directory,String ...fileName)
{
    IOFileFilter iOFileFilter=FileFilterUtils.directoryFileFilter(); //子目录变化
    for(String name:fileName)
    {//名字过滤器
        iOFileFilter=FileFilterUtils.or(iOFileFilter,FileFilterUtils.nameFileFilter(name));
    }
    return iOFileFilter;
}
项目:util4j    文件:DefaultClassSource.java   
/**
 * 监视目录
 * @param directory
 * @param filter
 * @throws Exception 
 */
protected void monitorDir(String directory,IOFileFilter filter) throws Exception
{
    FileAlterationObserver observer=new FileAlterationObserver(directory,filter);
    observer.initialize();
    observer.addListener(fileListener);
    observers.add(observer);
}
项目:util4j    文件:DefaultScriptSource.java   
protected FileAlterationObserver buildFileAlterationObserver(String directory)
{
    //后缀过滤器
    IOFileFilter suffixFileFilter=FileFilterUtils.or(FileFilterUtils.suffixFileFilter(".class"),FileFilterUtils.suffixFileFilter(".jar"));
    //子目录变化
    IOFileFilter rootAndSubFilefilter=FileFilterUtils.or(FileFilterUtils.directoryFileFilter(),suffixFileFilter);
    return new FileAlterationObserver(directory,rootAndSubFilefilter);
}
项目:BaseClient    文件:ResourcePackRepository.java   
private void func_183028_i()
{
    List<File> list = Lists.newArrayList(FileUtils.listFiles(this.dirServerResourcepacks, TrueFileFilter.TRUE, (IOFileFilter)null));
    Collections.sort(list, LastModifiedFileComparator.LASTMODIFIED_REVERSE);
    int i = 0;

    for (File file1 : list)
    {
        if (i++ >= 10)
        {
            logger.info("Deleting old server resource pack " + file1.getName());
            FileUtils.deleteQuietly(file1);
        }
    }
}
项目:BaseClient    文件:ResourcePackRepository.java   
private void func_183028_i()
{
    List<File> list = Lists.newArrayList(FileUtils.listFiles(this.dirServerResourcepacks, TrueFileFilter.TRUE, (IOFileFilter)null));
    Collections.sort(list, LastModifiedFileComparator.LASTMODIFIED_REVERSE);
    int i = 0;

    for (File file1 : list)
    {
        if (i++ >= 10)
        {
            logger.info("Deleting old server resource pack " + file1.getName());
            FileUtils.deleteQuietly(file1);
        }
    }
}
项目:spring-boot-seed    文件:FileOperateUtils.java   
/**
 * 查找需要合并文件的临时文件信息
 *
 * @param directory       临时文件所在的目录
 * @param prefix          临时文件的前缀
 * @param caseSensitivity 临时文件的大小写敏感
 * @return collection
 */
public static Collection<File> searchPrefixFile(File directory, String prefix, boolean
        caseSensitivity) {
    IOCase iocase = IOCase.INSENSITIVE;
    if (caseSensitivity) {
        iocase = IOCase.SENSITIVE;
    }
    //创建相关的过滤器
    IOFileFilter fileFilter = FileFilterUtils.prefixFileFilter(prefix, iocase);
    //检查相关的过滤信息
    return FileUtils.listFiles(directory, fileFilter, FalseFileFilter.INSTANCE);
}
项目:beyondj    文件:FileFilterHelper.java   
/**
 * Make the given IOFileFilter aware of directories.
 * 
 * @param filter The filter to make aware of directories.
 * @param directoryName The directory name which should be payed attention to.
 * @return The new generated filter.
 */
public static IOFileFilter makeDirectoryAware( IOFileFilter filter, String directoryName )
{

    IOFileFilter directoryAwareFilter =
        FileFilterUtils.notFileFilter( FileFilterUtils.andFileFilter( FileFilterUtils.directoryFileFilter(),
                                                                      FileFilterUtils.nameFileFilter( directoryName ) ) );

    return FileFilterUtils.andFileFilter( filter, directoryAwareFilter );
}
项目:beyondj    文件:FileFilterHelper.java   
/**
 * Make the given IOFileFilter aware of files.
 * 
 * @param filter The filter to make aware of files.
 * @param fileName The file name which should be payed attention to.
 * @return The new generated filter.
 */
public static IOFileFilter makeFileNameAware( IOFileFilter filter, String fileName )
{
    IOFileFilter directoryAwareFilter =
        FileFilterUtils.notFileFilter( FileFilterUtils.andFileFilter( FileFilterUtils.fileFileFilter(),
                                                                      FileFilterUtils.nameFileFilter( fileName ) ) );

    return FileFilterUtils.andFileFilter( filter, directoryAwareFilter );
}