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

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

Introduction

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

Prototype

public SuffixFileFilter(List suffixes, IOCase caseSensitivity) 

Source Link

Document

Constructs a new Suffix file filter for a list of suffixes specifying case-sensitivity.

Usage

From source file:com.moneydance.modules.features.importlist.io.FileAdmin.java

public FileAdmin(final String baseDirectory, final FeatureModuleContext argContext) {
    this.localizable = Helper.INSTANCE.getLocalizable();
    this.context = argContext;
    if (SystemUtils.IS_OS_MAC) {
        this.directoryChooser = new MacOSDirectoryChooser(baseDirectory);
    } else {//from  w  ww . j  a v a  2  s  . co  m
        this.directoryChooser = new DefaultDirectoryChooser(baseDirectory);
    }
    this.directoryValidator = DirectoryValidator.INSTANCE;
    this.transactionFileFilter = new SuffixFileFilter(
            Helper.INSTANCE.getSettings().getTransactionFileExtensions(), IOCase.INSENSITIVE);
    this.textFileFilter = new SuffixFileFilter(Helper.INSTANCE.getSettings().getTextFileExtensions(),
            IOCase.INSENSITIVE);
    this.readableFileFilter = FileFilterUtils.and(CanReadFileFilter.CAN_READ,
            FileFilterUtils.or(this.transactionFileFilter, this.textFileFilter));

    this.listener = new TransactionFileListener();
    this.listener.addObserver(this);
    this.monitor = new FileAlterationMonitor(Helper.INSTANCE.getSettings().getMonitorInterval());

    this.files = Collections.synchronizedList(new ArrayList<File>());
}

From source file:com.thoughtworks.go.server.GoServer.java

private List<File> getAddonJarFiles() {
    File addonsPath = new File(systemEnvironment.get(SystemEnvironment.ADDONS_PATH));
    if (!addonsPath.exists() || !addonsPath.canRead()) {
        return new ArrayList<>();
    }/*from   w ww.  ja  v  a  2 s  .  co m*/

    return new ArrayList<>(FileUtils.listFiles(addonsPath, new SuffixFileFilter("jar", IOCase.INSENSITIVE),
            FalseFileFilter.INSTANCE));
}

From source file:io.manasobi.utils.FileUtils.java

/**
 * ? ?  . ? ? ? ? ? .<br>/*w  w  w.j  av  a2 s.  c om*/
 * preserveFileDate true ?? ?  ??   false  ??  ?
 * .
 * 
 * @param srcDir  ? 
 * @param destDir ? 
 * @param extList ? ?
 * @param preserveFileDate ?  
 * @return  enum ? Result.SUCCESS   Result.FAIL? 
 */
public static Result copyDirAfterCheckFileExt(File srcDir, File destDir, boolean preserveFileDate,
        String... extList) {

    Result result = Result.EMPTY;

    if (notExistsDir(srcDir)) {
        return buildFailResult(result, srcDir + "  .");
    }

    if (isNotDir(srcDir)) {
        return buildFailResult(result, srcDir + "  .");
    }

    if (notExistsDir(destDir)) {

        result = createDir(destDir.getAbsolutePath());

        if (result == Result.FAIL) {
            return buildFailResult(result,
                    destDir + "  ? ? ? ?.");
        }
    }

    if (isNotDir(destDir)) {
        return buildFailResult(result, destDir + "  .");
    }

    IOFileFilter suffixFilters = new SuffixFileFilter(extList, IOCase.INSENSITIVE);
    FileFilter filter = FileFilterUtils.or(DirectoryFileFilter.DIRECTORY, suffixFilters);

    try {
        org.apache.commons.io.FileUtils.copyDirectory(srcDir, destDir, filter, preserveFileDate);
    } catch (Exception e) {
        return buildFailResult(result, e.getMessage());
    }

    return Result.SUCCESS;
}

From source file:com.thoughtworks.studios.shine.cruise.stage.details.JobResourceImporter.java

File[] getArtifactFilesOfType(String artifactsPathFromRoot, String jobArtifactPath,
        final String fileExtension) {
    if (LOGGER.isDebugEnabled()) {
        LOGGER.debug("getArtifactFilesOfType(" + artifactsPathFromRoot + ", " + jobArtifactPath + ", "
                + fileExtension + ")");
    }// w  w w.j  av  a2s  .  c om

    File jobArtifactFile = new File(artifactBaseDir, artifactsPathFromRoot + File.separator + jobArtifactPath);
    if (LOGGER.isDebugEnabled()) {
        LOGGER.debug("Artifact directory calculated to be " + jobArtifactFile.getAbsolutePath());
    }

    if (!jobArtifactFile.exists() || !jobArtifactFile.isDirectory()) {
        return new File[0];
    }

    Collection collection = FileUtils.listFiles(jobArtifactFile,
            new SuffixFileFilter(fileExtension, IOCase.INSENSITIVE), TrueFileFilter.INSTANCE);
    if (LOGGER.isDebugEnabled()) {
        LOGGER.debug("" + collection.size() + " artifact files found.");
    }
    return (File[]) collection.toArray(new File[0]);
}

From source file:de.ee.hezel.PDFCorpusAnalyser.java

/**
 * Run thru the given folders and find pdf document which have the same name.
 * For every pair, a PDFInfoHolder objects gets created.
 * //w  ww.j a v a2  s  .  c o m
 * @param pdfs1 for the 1st directory
 * @param pdfs2 for the 2nd directory
 * @param prefix 
 * @return list of all pdf pairs
 */
public static Set<PDFInfoHolder> getSimplePDFInfoHolders(File pdfs1, File pdfs2, String prefix) {
    Set<PDFInfoHolder> pdfInfoHolders = new HashSet<PDFInfoHolder>();

    // are those valid pathes
    if (pdfs1 != null && pdfs2 != null && pdfs1.isDirectory() && pdfs2.isDirectory()) {
        // create a filter to only get pdf files
        List<FilenameFilter> filters = new ArrayList<FilenameFilter>();
        if (null != prefix && prefix.length() > 0) {
            PrefixFileFilter filter = new PrefixFileFilter(prefix, IOCase.SYSTEM);
            filters.add(filter);
        }
        filters.add(new SuffixFileFilter(".pdf", IOCase.INSENSITIVE));
        FilenameFilter filter = new AndFileFilter(filters);

        //get all pdf file sin this folder
        String[] pdfDocuments1 = pdfs1.list(filter);

        for (int i = 0; i < pdfDocuments1.length; i++) {
            // get the pdf file name
            String pdfFilename1 = pdfDocuments1[i];

            // get the path for both pdf files
            File pdfFile1 = new File(pdfs1, pdfFilename1);
            File pdfFile2 = new File(pdfs2, pdfFilename1);

            // bind them together in a PDFInfoHolder objects
            PDFInfoHolder newPDFInfoHolder = new PDFInfoHolder(pdfFile1, pdfFile2);

            // remember them all
            pdfInfoHolders.add(newPDFInfoHolder);
        }

        // TODO what should happen if there are less reference documents than new generated ones
    } else {
        log.error("The path is not valid.");
    }

    return pdfInfoHolders;
}

From source file:com.silverpeas.util.FileUtil.java

public static Collection<File> listFiles(File directory, String[] extensions, boolean caseSensitive,
        boolean recursive) {
    if (caseSensitive) {
        return listFiles(directory, extensions, recursive);
    }//from w ww .  ja v a2  s .  c  o m
    IOFileFilter filter;
    if (extensions == null) {
        filter = TrueFileFilter.INSTANCE;
    } else {
        String[] suffixes = new String[extensions.length];
        for (int i = 0; i < extensions.length; i++) {
            suffixes[i] = "." + extensions[i];
        }
        filter = new SuffixFileFilter(suffixes, IOCase.INSENSITIVE);
    }
    return FileUtils.listFiles(directory, filter,
            (recursive ? TrueFileFilter.INSTANCE : FalseFileFilter.INSTANCE));
}

From source file:de.lmu.ifi.dbs.jfeaturelib.utils.Extractor.java

/**
 * creates a list of image files in the specified directory and all subdirectories (if recursive is enabled)
 *
 * @param dir directory to start from//  w  w  w  . j  a  v a  2 s .c  o m
 * @return a list of image files in this directory (possibly empty)
 */
Collection<File> createFileList(File dir) {
    if (dir == null) {
        log.debug("directory is null, returning empty list");
        return Collections.EMPTY_LIST;
    } else {
        SuffixFileFilter sff = new SuffixFileFilter(imageFormats, IOCase.INSENSITIVE);
        IOFileFilter recursiveFilter = recursive ? TrueFileFilter.INSTANCE : FalseFileFilter.INSTANCE;
        return FileUtils.listFiles(dir, sff, recursiveFilter);
    }
}

From source file:io.manasobi.utils.FileUtils.java

/**
 *  ? ?  ?? ?  .//from www .j av a  2 s.  com
 * 
 * @param dir  
 * @param recursive  ?? ? ??   
 * @param extList ? ? 
 * @return  ? ?  ?? ? 
 */
public static List<String> listFilenamesExcludeExt(String dir, boolean recursive, String... extList) {

    IOFileFilter suffixFileFilters = new SuffixFileFilter(extList, IOCase.INSENSITIVE);
    IOFileFilter excludeExtFilter = FileFilterUtils.notFileFilter(FileFilterUtils.or(suffixFileFilters));

    List<File> resultFiles = (List<File>) org.apache.commons.io.FileUtils.listFiles(new File(dir),
            excludeExtFilter, TrueFileFilter.INSTANCE);

    List<String> resultList = new ArrayList<String>();

    for (File file : resultFiles) {
        resultList.add(file.getAbsolutePath());
    }

    return resultList;
}

From source file:io.manasobi.utils.FileUtils.java

/**
 *  ? ?  ?? File ?  ./*from  w  w  w .java 2s  .  co  m*/
 * 
 * @param dir  
 * @param recursive  ?? ? ??   
 * @param extList ? ? 
 * @return  ? ?  ??  File ? 
 */
public static File[] listFilesExcludeExt(String dir, boolean recursive, String... extList) {

    IOFileFilter suffixFileFilters = new SuffixFileFilter(extList, IOCase.INSENSITIVE);
    IOFileFilter excludeExtFilter = FileFilterUtils.notFileFilter(FileFilterUtils.or(suffixFileFilters));

    Collection<File> resultFiles = org.apache.commons.io.FileUtils.listFiles(new File(dir), excludeExtFilter,
            TrueFileFilter.INSTANCE);

    return org.apache.commons.io.FileUtils.convertFileCollectionToFileArray(resultFiles);
}

From source file:nl.armatiek.xslweb.configuration.WebApp.java

private void initFileAlterationObservers() {
    monitor = new FileAlterationMonitor(3000);

    if (!developmentMode) {
        IOFileFilter xslFiles = FileFilterUtils.and(FileFilterUtils.fileFileFilter(),
                new SuffixFileFilter(new String[] { ".xsl", ".xslt" }, IOCase.INSENSITIVE));
        FileAlterationObserver xslObserver = new FileAlterationObserver(new File(homeDir, "xsl"),
                FileFilterUtils.or(FileFilterUtils.directoryFileFilter(), xslFiles));
        xslObserver.addListener(new FileAlterationListenerAdaptor() {

            @Override//ww  w.  j a  v  a2  s.  com
            public void onFileChange(File file) {
                onFileChanged(file, "Change in XSL stylesheet \"%s\" detected. Reloading webapp ...");
            }

            @Override
            public void onFileDelete(File file) {
                onFileChanged(file, "Deletion of XSL stylesheet \"%s\" detected. Reloading webapp ...");
            }

        });
        monitor.addObserver(xslObserver);
    }

    IOFileFilter jarAndClassFiles = FileFilterUtils.and(FileFilterUtils.fileFileFilter(),
            new SuffixFileFilter(new String[] { ".jar", ".class" }, IOCase.INSENSITIVE));
    FileAlterationObserver classObserver = new FileAlterationObserver(new File(homeDir, "lib"),
            FileFilterUtils.or(FileFilterUtils.directoryFileFilter(), jarAndClassFiles));
    classObserver.addListener(new FileAlterationListenerAdaptor() {

        @Override
        public void onFileCreate(File file) {
            onFileChanged(file, "New plugin jar or class file \"%s\" detected. Reloading webapp ...");
        }

        @Override
        public void onFileChange(File file) {
            onFileChanged(file, "Change in plugin jar or class file \"%s\" detected. Reloading webapp ...");
        }

        @Override
        public void onFileDelete(File file) {
            onFileChanged(file, "Deletion of plugin jar or class file \"%s\" detected. Reloading webapp ...");
        }

    });
    monitor.addObserver(classObserver);
}