Example usage for org.apache.commons.io.filefilter DirectoryFileFilter DIRECTORY

List of usage examples for org.apache.commons.io.filefilter DirectoryFileFilter DIRECTORY

Introduction

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

Prototype

IOFileFilter DIRECTORY

To view the source code for org.apache.commons.io.filefilter DirectoryFileFilter DIRECTORY.

Click Source Link

Document

Singleton instance of directory filter.

Usage

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

/**
 *   ? ? File ?  . //from  w  w  w.  j a v a  2s . c o  m
 * 
 * @param dir 
 * @param includeRootDir  ?? ? ? . (true ? ?? ?)
 * @return  ? ?  File ? 
 */
public static File[] listDirs(String dir, boolean includeRootDir) {

    List<File> dirs = (List<File>) org.apache.commons.io.FileUtils.listFilesAndDirs(new File(dir),
            new NotFileFilter(TrueFileFilter.INSTANCE), DirectoryFileFilter.DIRECTORY);

    List<File> dirList = new ArrayList<File>();

    int index = 0;

    for (File dirUnit : dirs) {

        if (index++ == 0 && !includeRootDir) {
            continue;
        }

        dirList.add(dirUnit);
        index++;
    }

    return dirList.toArray(new File[dirList.size()]);
}

From source file:kr.co.leem.system.FileSystemUtils.java

/**
 * ? ?? ./*from  ww w . ja  v a  2  s .  c o m*/
 *
 * @param dirPath  .
 * @param name .
 * @param fileNameSearch  .
 * @return ? ?.
 * @see FileUtils#listFiles(File, IOFileFilter, IOFileFilter)
 * @see FileFilterUtils#nameFileFilter(String)
 * @see FileFilterUtils#prefixFileFilter(String)
 * @see FileFilterUtils#suffixFileFilter(String)
 */
public static File[] getFileList(final String dirPath, final String name, final searchFileName fileNameSearch) {
    return processIO(new IOCallback<File[]>() {
        public File[] doInProcessIO() throws IOException, NullPointerException {
            IOFileFilter fileFilter;
            switch (fileNameSearch) {
            case FULL_MATCH:
                fileFilter = FileFilterUtils.nameFileFilter(name);
                break;
            case PREFIX:
                fileFilter = FileFilterUtils.prefixFileFilter(name);
                break;
            case SUFFIX:
                fileFilter = FileFilterUtils.suffixFileFilter(name);
                break;
            default:
                fileFilter = FileFilterUtils.nameFileFilter(name);
                break;
            }

            Collection<File> files = FileUtils.listFiles(new File(dirPath), fileFilter,
                    DirectoryFileFilter.DIRECTORY);
            return FileUtils.convertFileCollectionToFileArray(files);
        }
    });
}

From source file:com.cheusov.Jrep.java

private static void grep(String[] args) throws Exception {
    if (args.length == 0)
        args = stdinFilenames;/*from w ww  .  ja  v a  2 s  . co  m*/

    for (String fileOrDir : args) {
        try {
            Iterator fileIterator;
            File file = new File(fileOrDir);
            boolean isDir = false;
            if (opt_directories != Directories.READ)
                isDir = file.isDirectory();

            if (isDir && opt_directories == Directories.SKIP)
                continue;

            if (isDir && opt_directories == Directories.RECURSE) {
                fileIterator = FileUtils.iterateFiles(file, fileFilter, DirectoryFileFilter.DIRECTORY);
            } else {
                fileIterator = Arrays.asList(fileOrDir).iterator();
            }

            while (fileIterator.hasNext()) {
                Object fileObj = fileIterator.next();
                String filename;
                if (fileObj instanceof String)
                    filename = (String) fileObj;
                else
                    filename = ((File) fileObj).getPath().replaceAll("^^[.]/", "");

                if (filename.equals("-")) {
                    processFile(System.in, label);
                } else {
                    if (fileFilter.accept(new File(filename))) {
                        FileInputStream in = new FileInputStream(filename);
                        processFile(in, filename);
                        in.close();
                    }
                }
            }
        } catch (IOException e) {
            if (!opt_s)
                System.err.println(e.toString());

            exitStatus = 2;
        }
    }
}

From source file:annis.administration.AdministrationDao.java

void importBinaryData(String path, String toplevelCorpusName) {
    log.info("importing all binary data from ExtData");
    File extData = new File(path + "/ExtData");
    if (extData.canRead() && extData.isDirectory()) {
        // import toplevel corpus media files
        File[] topFiles = extData.listFiles((FileFilter) FileFileFilter.FILE);
        for (File data : topFiles) {
            String extension = FilenameUtils.getExtension(data.getName());
            try {
                if (mimeTypeMapping.containsKey(extension)) {
                    log.info("import " + data.getCanonicalPath() + " to staging area");

                    // search for corpus_ref
                    String sqlScript = "SELECT id FROM _corpus WHERE top_level IS TRUE LIMIT 1";
                    long corpusID = getJdbcTemplate().queryForLong(sqlScript);

                    importSingleFile(data.getCanonicalPath(), toplevelCorpusName, corpusID);
                } else {
                    log.warn("not importing " + data.getCanonicalPath() + " since file type is unknown");
                }/*  w ww.jav a 2  s.c  om*/
            } catch (IOException ex) {
                log.error("no canonical path given", ex);
            }
        }

        // get each subdirectory (which corresponds to an document name)
        File[] documents = extData.listFiles((FileFilter) DirectoryFileFilter.DIRECTORY);
        for (File doc : documents) {
            if (doc.isDirectory() && doc.canRead()) {
                File[] dataFiles = doc.listFiles((FileFilter) FileFileFilter.FILE);
                for (File data : dataFiles) {
                    String extension = FilenameUtils.getExtension(data.getName());
                    try {
                        if (mimeTypeMapping.containsKey(extension)) {
                            log.info("import " + data.getCanonicalPath() + " to staging area");

                            // search for corpus_ref
                            String sqlScript = "SELECT id FROM _corpus WHERE \"name\" = ? LIMIT 1";
                            long corpusID = getJdbcTemplate().queryForLong(sqlScript, doc.getName());

                            importSingleFile(data.getCanonicalPath(), toplevelCorpusName, corpusID);
                        } else {
                            log.warn(
                                    "not importing " + data.getCanonicalPath() + " since file type is unknown");
                        }
                    } catch (IOException ex) {
                        log.error("no canonical path given", ex);
                    }
                }
            }
        }
    }
}

From source file:com.jayway.maven.plugins.android.phase09package.ApkMojo.java

private void copyLocalNativeLibraries(final File localNativeLibrariesDirectory, final File destinationDirectory)
        throws MojoExecutionException {
    getLog().debug("Copying existing native libraries from " + localNativeLibrariesDirectory);
    try {/*from   w ww  . j ava  2  s.c o m*/

        IOFileFilter libSuffixFilter = FileFilterUtils.suffixFileFilter(".so");

        IOFileFilter gdbserverNameFilter = FileFilterUtils.nameFileFilter("gdbserver");
        IOFileFilter orFilter = FileFilterUtils.or(libSuffixFilter, gdbserverNameFilter);

        IOFileFilter libFiles = FileFilterUtils.and(FileFileFilter.FILE, orFilter);
        FileFilter filter = FileFilterUtils.or(DirectoryFileFilter.DIRECTORY, libFiles);
        org.apache.commons.io.FileUtils.copyDirectory(localNativeLibrariesDirectory, destinationDirectory,
                filter);

    } catch (IOException e) {
        getLog().error("Could not copy native libraries: " + e.getMessage(), e);
        throw new MojoExecutionException("Could not copy native dependency.", e);
    }
}

From source file:frameworks.Masken.java

public static void createTarGzip(String dirPath, String tarGzPath) throws IOException {
    File inputDirectoryPath = new File(dirPath);
    File outputFile = new File(tarGzPath);

    try (FileOutputStream fileOutputStream = new FileOutputStream(outputFile);
            BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
            GzipCompressorOutputStream gzipOutputStream = new GzipCompressorOutputStream(bufferedOutputStream);
            TarArchiveOutputStream tarArchiveOutputStream = new TarArchiveOutputStream(gzipOutputStream)) {

        tarArchiveOutputStream.setBigNumberMode(TarArchiveOutputStream.BIGNUMBER_POSIX);
        tarArchiveOutputStream.setLongFileMode(TarArchiveOutputStream.LONGFILE_GNU);

        List<File> files = new ArrayList<>(FileUtils.listFiles(inputDirectoryPath,
                new RegexFileFilter("^(.*?)"), DirectoryFileFilter.DIRECTORY));

        for (int i = 0; i < files.size(); i++) {

            File currentFile = files.get(i);
            if (!currentFile.getName().contains(".tgz")) {
                String relativeFilePath = new File(inputDirectoryPath.toURI()).toURI()
                        .relativize(new File(currentFile.getAbsolutePath()).toURI()).getPath();

                TarArchiveEntry tarEntry = new TarArchiveEntry(currentFile, relativeFilePath);
                tarEntry.setSize(currentFile.length());

                tarArchiveOutputStream.putArchiveEntry(tarEntry);
                FileInputStream in = new FileInputStream(currentFile);
                //tarArchiveOutputStream.write(IOUtils.toByteArray(new FileInputStream(currentFile)));
                tarArchiveOutputStream.write(IOUtils.toByteArray(in));

                tarArchiveOutputStream.closeArchiveEntry();
                in.close();//  w w w  .j a v a 2  s.  c om
            }
        }
        tarArchiveOutputStream.close();

    }
}

From source file:net.sourceforge.subsonic.domain.MusicFile.java

/**
 * Returns all music files that are children of this music file.
 *
 * @param includeFiles       Whether files should be included in the result.
 * @param includeDirectories Whether directories should be included in the result.
 * @param sort               Whether to sort files in the same directory.   @return All children music files.
 * @throws IOException If an I/O error occurs.
 *///w w  w .jav  a  2  s.  c  o m
public List<MusicFile> getChildren(boolean includeFiles, boolean includeDirectories, boolean sort)
        throws IOException {

    FileFilter filter;
    if (includeFiles && includeDirectories) {
        filter = TrueFileFilter.INSTANCE;
    } else if (includeFiles) {
        filter = FileFileFilter.FILE;
    } else if (includeDirectories) {
        filter = DirectoryFileFilter.DIRECTORY;
    } else {
        filter = FalseFileFilter.INSTANCE;
    }

    File[] children = FileUtil.listFiles(file, filter);
    List<MusicFile> result = new ArrayList<MusicFile>(children.length);

    for (File child : children) {
        try {
            if (acceptMedia(child)) {
                result.add(createMusicFile(child));
            }
        } catch (SecurityException x) {
            LOG.warn("Failed to create MusicFile for " + child, x);
        }
    }

    if (sort) {
        Collections.sort(result, new MusicFileSorter());
    }

    return result;
}

From source file:net.unit8.maven.plugins.handlebars.PrecompileMojo.java

protected void visit(File directory) throws IOException {
    precompile(directory);/*from   w ww  .j  a v a2 s . c o m*/
    File[] children = directory.listFiles((FileFilter) DirectoryFileFilter.DIRECTORY);
    for (File child : children) {
        visit(child);
    }
}

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

private void initWebApps() throws Exception {
    File webAppsDir = new File(homeDir, "webapps");
    File[] dirs = webAppsDir.listFiles((FileFilter) DirectoryFileFilter.DIRECTORY);
    for (File dir : dirs) {
        File[] webAppFiles = dir.listFiles((FilenameFilter) new NameFileFilter("webapp.xml"));
        if (webAppFiles.length == 0) {
            continue;
        }//from  w  w  w .  ja v a2 s .co  m
        File file = webAppFiles[0];
        try {
            WebApp webApp = new WebApp(webAppFiles[0]);
            webApps.put(webApp.getName(), webApp);
            webApp.open();
        } catch (Exception e) {
            logger.error(String.format("Error creating webapp \"%s\"", file.getAbsolutePath()), e);
        }
    }
}

From source file:nl.armatiek.xslweb.saxon.configuration.XSLWebConfiguration.java

private void addCustomExtensionFunctions(WebApp webApp) throws Exception {
    File libDir = new File(webApp.getHomeDir(), "lib");
    if (!libDir.isDirectory()) {
        return;//from w  ww .  java 2  s. c o m
    }
    List<File> classPath = new ArrayList<File>();
    classPath.addAll(
            FileUtils.listFiles(libDir, new WildcardFileFilter("*.jar"), DirectoryFileFilter.DIRECTORY));
    if (classPath.isEmpty() && !XSLWebUtils.hasSubDirectories(libDir)) {
        return;
    }
    classPath.add(libDir);
    Collection<File> saxonJars = FileUtils.listFiles(new File(Context.getInstance().getWebInfDir(), "lib"),
            new WildcardFileFilter("*saxon*.jar", IOCase.INSENSITIVE), FalseFileFilter.INSTANCE);
    classPath.addAll(saxonJars);

    logger.info("Initializing custom extension functions ...");

    ClassFinder finder = new ClassFinder();
    finder.add(classPath);

    ClassFilter filter = new AndClassFilter(
            // Must extend ExtensionFunctionDefinition class
            new SubclassClassFilter(ExtensionFunctionDefinition.class),
            // Must not be abstract
            new NotClassFilter(new AbstractClassFilter()));

    Collection<ClassInfo> foundClasses = new ArrayList<ClassInfo>();
    finder.findClasses(foundClasses, filter);
    if (foundClasses.isEmpty()) {
        logger.info("No custom extension functions found.");
        return;
    }
    ClassLoaderBuilder builder = new ClassLoaderBuilder();
    builder.add(classPath);
    ClassLoader classLoader = builder.createClassLoader();
    for (ClassInfo classInfo : foundClasses) {
        String className = classInfo.getClassName();
        if (initializer.isFunctionRegistered(className) || saxonJars.contains(classInfo.getClassLocation())) {
            continue;
        }
        Class<?> clazz = classLoader.loadClass(className);
        logger.info(String.format("Adding custom extension function class \"%s\" ...", className));
        registerExtensionFunction((ExtensionFunctionDefinition) clazz.newInstance());
    }
}