Example usage for org.apache.commons.io FileUtils iterateFiles

List of usage examples for org.apache.commons.io FileUtils iterateFiles

Introduction

In this page you can find the example usage for org.apache.commons.io FileUtils iterateFiles.

Prototype

public static Iterator iterateFiles(File directory, String[] extensions, boolean recursive) 

Source Link

Document

Allows iteration over the files in a given directory (and optionally its subdirectories) which match an array of extensions.

Usage

From source file:org.eclipse.dirigible.repository.local.FileSystemRepository.java

@Override
public List<IEntity> searchPath(String parameter, boolean caseInsensitive) throws IOException {
    String rootRepositoryPath = getRepositoryPath();
    List<IEntity> entities = new ArrayList<IEntity>();
    Iterator<File> foundFiles = FileUtils.iterateFiles(new File(rootRepositoryPath),
            new WildcardFileFilter("*" + parameter + "*", (caseInsensitive ? INSENSITIVE : SENSITIVE)), TRUE);
    while (foundFiles.hasNext()) {
        File foundFile = foundFiles.next();
        String repositoryName = foundFile.getCanonicalPath().substring(getRepositoryPath().length());
        RepositoryPath localRepositoryPath = new RepositoryPath(repositoryName);
        entities.add(new LocalResource(this, localRepositoryPath));
    }/*from  ww w .  java2  s.  c o  m*/

    return entities;
}

From source file:org.eclipse.dirigible.repository.local.FileSystemRepository.java

private void cleanOlderFiles(File file) {
    Iterator<File> filesToBeDeleted = FileUtils.iterateFiles(file, new AgeFileFilter(thresholdDate), TRUE);
    while (filesToBeDeleted.hasNext()) {
        File toBeDeleted = filesToBeDeleted.next();
        toBeDeleted.delete();//from   w  w  w .  ja v  a 2  s . c  om
    }
}

From source file:org.eclipse.skalli.core.storage.FileStorageComponent.java

@Override
public List<String> keys(String category) throws StorageException {
    List<String> list = new ArrayList<String>();

    File storageBaseEntityName = new File(storageBase, category);
    if (!storageBaseEntityName.exists()) {
        return list;
    }/*from   ww w .ja  va2  s. co  m*/

    @SuppressWarnings("unchecked")
    Iterator<File> files = FileUtils.iterateFiles(storageBaseEntityName, new String[] { "xml" }, true); //$NON-NLS-1$
    while (files.hasNext()) {
        File file = files.next();
        String key = file.getName().substring(0, file.getName().length() - ".xml".length()); //$NON-NLS-1$
        list.add(key);
    }

    return list;
}

From source file:org.efs.openreports.delivery.FileSystemDeliveryMethod.java

public DeliveredReport[] getDeliveredReports(ReportUser user) throws DeliveryException {
    IOFileFilter extensionFilter = FileFilterUtils.suffixFileFilter("xml");

    File directory = new File(directoryProvider.getReportGenerationDirectory());

    ArrayList<DeliveredReport> deliveredReports = new ArrayList<DeliveredReport>();

    Iterator iterator = FileUtils.iterateFiles(directory, extensionFilter, null);
    while (iterator.hasNext()) {
        File file = (File) iterator.next();

        if (FilenameUtils.wildcardMatch(file.getName(), "*" + user.getName() + "*")) {
            XStream xStream = new XStream();
            xStream.alias("reportGenerationInfo", DeliveredReport.class);

            try {
                FileInputStream inputStream = new FileInputStream(file);

                DeliveredReport report = (DeliveredReport) xStream.fromXML(inputStream);

                deliveredReports.add(report);

                inputStream.close();/* w w  w.  j a  va 2 s .  com*/
            } catch (IOException io) {
                log.warn(io.toString());
            }
        }
    }

    DeliveredReport[] reports = new DeliveredReport[deliveredReports.size()];
    deliveredReports.toArray(reports);

    return reports;
}

From source file:org.elasticwarehouse.core.parsers.FileTools.java

public static LinkedList<FileDef> scanFolder(String path, List<String> excluded_extenstions, Date newerthan)
        throws java.security.AccessControlException {
    LinkedList<FileDef> ret = new LinkedList<FileDef>();
    File folder = new File(path);
    LinkedList<File> listOfFiles = new LinkedList<File>();

    if (newerthan != null) {
        Iterator<File> newFiles = FileUtils.iterateFiles(folder, new AgeFileFilter(newerthan, false), null);//org.apache.commons.io.filefilter.TrueFileFilter.TRUE);
        while (newFiles.hasNext()) {
            listOfFiles.add(newFiles.next());
        }//from w  ww. ja v  a  2 s  . c  o  m
    } else {
        listOfFiles.addAll(Arrays.asList(folder.listFiles()));
    }
    if (listOfFiles.size() == 0)
        return ret;

    //return listOfFiles;
    for (File file : listOfFiles) {
        if (file.isFile()) {
            String fname = file.getName();
            boolean exclude = false;
            for (String excludeext : excluded_extenstions) {
                if (fname.endsWith("." + excludeext)) {
                    exclude = true;
                    break;
                }
            }
            if (!exclude)
                ret.add(new FileDef(file.getName(), file.getParent(), file.lastModified()));
        }
    }

    return ret;
}

From source file:org.evilco.emulator.extension.AbstractExtensionManager.java

/**
 * Loads all extensions from a directory.
 * @param file The directory.//w  w w  .ja  v  a2 s.co m
 * @throws ExtensionException Occurs if the plugin directory is invalid.
 */
public void loadAll(@NonNull File file) throws ExtensionException {
    // verify
    if (!file.isDirectory())
        throw new InvalidExtensionDirectoryException(file.getAbsolutePath() + " is not a directory.");
    if (!file.canRead())
        throw new InvalidExtensionDirectoryException(file.getAbsolutePath() + " is not readable.");

    // log
    getLogger().info("Attempting to load all extensions from directory " + file.getAbsolutePath() + ".");

    // store data
    int extensionCount = this.loaderMap.size();

    // get iterator
    Iterator<File> iterator = FileUtils.iterateFiles(file, VALID_FILE_EXTENSIONS, false);

    // iterate
    while (iterator.hasNext()) {
        try {
            this.load(iterator.next());
        } catch (ExtensionException ex) {
            getLogger().error("Could not load one or more extensions: " + ex.getMessage(), ex);
        }
    }

    // log
    getLogger().info("Loaded " + (this.loaderMap.size() - extensionCount) + " extensions.");
}

From source file:org.evosuite.junit.TestSuiteWriter.java

/**
 * Update/create the main file of the test suite. The main test file simply
 * includes all automatically generated test suites in the same directory
 * //from w  ww  . ja  v  a2s .c o  m
 * @param directory
 *            Directory of generated test files
 */
public void writeTestSuiteMainFile(String directory) {

    File file = new File(mainDirectory(directory) + "/GeneratedTestSuite.java");

    StringBuilder builder = new StringBuilder();
    if (!Properties.PROJECT_PREFIX.equals("")) {
        builder.append("package ");
        builder.append(Properties.PROJECT_PREFIX);
        // builder.append(".GeneratedTests;");
        builder.append(";\n\n");
    }
    List<String> suites = new ArrayList<String>();

    File basedir = new File(directory);
    Iterator<File> i = FileUtils.iterateFiles(basedir, new TestFilter(), TrueFileFilter.INSTANCE);
    while (i.hasNext()) {
        File f = i.next();
        String name = f.getPath().replace(directory, "").replace(".java", "").replace("/", ".");

        if (name.startsWith("."))
            name = name.substring(1);
        suites.add(name);
    }
    builder.append(adapter.getSuite(suites));
    Utils.writeFile(builder.toString(), file);
}

From source file:org.exist.performance.Main.java

private static void createReport(Runner runner, File directory) {
    try {/*from  w ww .j  a v  a2s.c o m*/
        Connection con = runner.getConnection();
        Collection collection = con.getCollection("benchmark");
        if (collection == null) {
            Collection root = con.getCollection();
            CollectionManagementService cmgt = (CollectionManagementService) root
                    .getService("CollectionManagementService", "1.0");
            collection = cmgt.createCollection("benchmark");
        }
        for (Iterator<?> i = FileUtils.iterateFiles(directory, new String[] { "xml" }, false); i.hasNext();) {
            File file = (File) i.next();
            Resource resource = collection.createResource(file.getName(), "XMLResource");
            resource.setContent(file);
            collection.storeResource(resource);
        }
        XQueryService service = (XQueryService) collection.getService("XQueryService", "1.0");
        ResourceSet result = service.execute(new ClassLoaderSource("/org/exist/performance/log2html.xql"));

        if (directory == null)
            directory = new File(System.getProperty("user.dir"));
        File htmlFile = new File(directory, "results.html");
        FileUtils.writeStringToFile(htmlFile, result.getResource(0).getContent().toString(), "UTF-8");
        FileUtils.copyFile(CSS_FILE, new File(directory, CSS_FILE.getName()));
    } catch (Exception e) {
        e.printStackTrace();
        System.err.println("ERROR: " + e.getMessage());
    }
}

From source file:org.gbif.dwca.io.ArchiveFactory.java

/**
 * @param dwcaFolder the location of an expanded dwc archive directory or just a single dwc text file
 *//* w  w  w  .java 2s .  c  om*/
public static Archive openArchive(File dwcaFolder) throws IOException, UnsupportedArchiveException {
    if (!dwcaFolder.exists()) {
        throw new FileNotFoundException("Archive folder not existing: " + dwcaFolder.getAbsolutePath());
    }
    // delegate to open data file method if its a single file, not a folder
    if (dwcaFolder.isFile()) {
        return openArchiveDataFile(dwcaFolder);
    }

    Archive archive = new Archive();
    archive.setLocation(dwcaFolder);

    // Accommodate archives coming from legacy IPTs which put a "\" before each filename
    // http://dev.gbif.org/issues/browse/POR-2396
    // https://code.google.com/p/gbif-providertoolkit/issues/detail?id=1015
    Iterator<File> iter = FileUtils.iterateFiles(dwcaFolder, new String[] { "xml", "txt" }, false);
    while (iter.hasNext()) {
        File f = iter.next();
        if (f.getName().startsWith("\\")) {
            String orig = f.getName();
            String replacement = f.getName().replaceFirst("\\\\", "");
            LOG.info("Renaming file from {} to {}", orig, replacement);
            f.renameTo(new File(dwcaFolder, replacement));
        }
    }

    // read metadata
    File mf = new File(dwcaFolder, Archive.META_FN);
    if (mf.exists()) {
        // read metafile
        readMetaDescriptor(archive, new FileInputStream(mf));

    } else {
        // meta.xml lacking.
        // Try to detect data files ourselves as best as we can.
        // look for a single, visible text data file
        List<File> dataFiles = new ArrayList<File>();
        for (String suffix : Lists.newArrayList(".csv", ".txt", ".tab", ".text", ".data")) {
            FileFilter ff = FileFilterUtils.and(FileFilterUtils.suffixFileFilter(suffix, IOCase.INSENSITIVE),
                    HiddenFileFilter.VISIBLE);
            dataFiles.addAll(Arrays.asList(dwcaFolder.listFiles(ff)));
        }

        if (dataFiles.size() == 1) {
            File dataFile = new File(dwcaFolder, dataFiles.get(0).getName());
            ArchiveFile coreFile = readFileHeaders(dataFile);
            coreFile.getLocations().clear();
            coreFile.addLocation(dataFile.getName());
            archive.setCore(coreFile);

        } else {
            throw new UnsupportedArchiveException(
                    "The archive given is a folder with more or less than 1 data files having a csv, txt or tab suffix");
        }
    }

    // check if we also have a metadata file next to this data file
    discoverMetadataFile(archive, mf.getParentFile());

    // final validation
    return validateArchive(archive);
}

From source file:org.gbif.portal.web.controller.download.DownloadController.java

/**
 * View downloads in progress and recently completed downloads.
 * /*  ww w .j  av a 2 s . c om*/
 * @param request
 * @param response
 * @return
 * @throws Exception
 */
public ModelAndView monitor(HttpServletRequest request, HttpServletResponse response) throws Exception {

    ModelAndView mav = new ModelAndView(monitorView);

    String downloadDir = getDownloadDirectory();
    File directory = new File(downloadDir);

    List<FileDownloadStatus> inProgress = new ArrayList<FileDownloadStatus>();
    Iterator<File> iterator = FileUtils.iterateFiles(directory, tmpFileExtensions, false);
    while (iterator.hasNext()) {
        FileDownloadStatus fds = new FileDownloadStatus();
        File downloadFile = iterator.next();
        String fileName = downloadFile.getName();
        String nameWithoutExt = fileName.substring(0, fileName.indexOf("."));
        String fileDescriptor = nameWithoutExt + DownloadUtils.downloadDescriptorExtension;
        File fd = new File(constructFilePath(fileDescriptor));
        if (fd.exists()) {
            Map<String, Object> fileDownload = getFileProperties(downloadFile, fd);
            fds.setProperties(fileDownload);
            fds.setCompleted(false);
            fds.setFileName(DownloadUtils.getFileNameWithoutTempMarker(fileName));
            inProgress.add(fds);
        }
    }

    List<FileDownloadStatus> completed = new ArrayList<FileDownloadStatus>();
    iterator = FileUtils.iterateFiles(directory, completedFileExtensions, false);
    while (iterator.hasNext()) {
        FileDownloadStatus fds = new FileDownloadStatus();
        File downloadFile = iterator.next();
        String fileName = downloadFile.getName();
        String nameWithoutExt = fileName.substring(0, fileName.indexOf("."));
        String fileDescriptor = nameWithoutExt + DownloadUtils.downloadDescriptorExtension;
        File fd = new File(constructFilePath(fileDescriptor));
        if (fd.exists()) {
            Map<String, Object> fileDownload = getFileProperties(downloadFile, fd);
            fds.setProperties(fileDownload);
            fds.setCompleted(true);
            fds.setFileName(fileName);
            completed.add(fds);
        }
    }

    mav.addObject("inProgress", inProgress);
    mav.addObject("completed", completed);
    return mav;
}