Java: Lib: org.apache.commons.io - Apache Commons IO

org.apache.commons.io

ApacheFileUtils Library

 

Eclipse Local JavaDoc

http://127.0.0.1:60534/help/nftopic/jar:file:/C:/Users/SiloSix/.m2/repository/commons-io/commons-io/2.6/commons-io-2.6-javadoc.jar!/overview-summary.html


Java Code Examples for org.apache.commons.io.FileUtils.listFilesAndDirs()

The following are Jave code examples for showing how to use listFilesAndDirs() of the org.apache.commons.io.FileUtils class. You can vote up the examples you like. Your votes will be used in our system to get more good examples.

 


/**
 * Scans sub directories associated with the target 'src' folder, lists them into dirsList
 * @throws IOException 
 * 
 */
public static synchronized void scanDirectoriesAtFolderChosen(JFileChooser jfc, Path dir, ConcurrentHashMap<String, String> holdValueToKey, WatchService watcher) throws IOException{//JFileChooser jfc, Path dir
	File f = new File(jfc.getSelectedFile().getAbsolutePath());
	if(f.isDirectory()){
	//System.out.println("Is a directory: "+jfc.getSelectedFile().getAbsolutePath());

	File rFile = new File(jfc.getSelectedFile().getAbsolutePath());
	SuffixFileFilter extFilter = new SuffixFileFilter("java");
	Collection filesListUtil = FileUtils.listFilesAndDirs(rFile,extFilter,TrueFileFilter.INSTANCE); //get utils for files in subdir, looks for .java files as well
	ArrayList<File> filesList = new ArrayList<File>();
	ArrayList<File> dirsList = new ArrayList<File>();

	for(java.util.Iterator fileIter = filesListUtil.iterator();fileIter.hasNext();){	//iterate through filesListUtil subdirs, add to filesList to be watched
		File currentF = (File) fileIter.next();
		//System.out.println("Reading Paths from: "+currentF.getAbsolutePath());
		if(!(currentF.isDirectory())){
			filesList.add(currentF);	//add each file while iterating through subdirectories
		}else{
			dirsList.add(currentF);	//add each dir to watch
		}
	}


	/**
 	* File system traversal
 	*/

	System.out.println("WatchService: DirectoriesList length = "+dirsList.size());
	//System.out.println("FilesListUtil length: "+filesListUtil.size());
	fileSystemTraversal(dirsList, dir, watcher, holdValueToKey);
	
	}
}

 


 

@Override
protected TUExecutionResult execution(File transformedAppFolder, TransformationContext transformationContext) {
    final File searchRootFolder = getAbsoluteFile(transformedAppFolder, transformationContext);

    String _pathRegex = pathRegex;
    if (pathRegex != null && File.separatorChar != '/') {
        _pathRegex = pathRegex.replace('/', File.separatorChar);
    }
    final String normalizedPathRegex = _pathRegex;

    IOFileFilter filter = new AbstractFileFilter() {
        public boolean accept(File file) {
            if ((file.isFile() && !includeFiles) || (file.isDirectory() && !includeFolders)) {
                return false;
            }
            if (nameRegex != null && !file.getName().matches(nameRegex)) {
                return false;
            }
            if (normalizedPathRegex != null) {
                String relativePath = getRelativePath(searchRootFolder, file.getParentFile());
                if (!relativePath.matches(normalizedPathRegex)) {
                    return false;
                }
            }
            return true;
        }
    };

    Collection<File> files = new ArrayList<>();
    if (includeFiles) {
        files = FileUtils.listFiles(searchRootFolder, filter, (recursive ? TrueFileFilter.INSTANCE : null));
    }
    if (includeFolders) {
        Collection<File> folders = new ArrayList<>();
        Collection<File> allFolders = FileUtils.listFilesAndDirs(searchRootFolder, new NotFileFilter(TrueFileFilter.INSTANCE), (recursive ? TrueFileFilter.INSTANCE : DirectoryFileFilter.DIRECTORY));
        allFolders.remove(searchRootFolder);
        for (File folder : allFolders) {
            if (!recursive && !folder.getParentFile().equals(searchRootFolder)) {
                continue;
            }
            if (filter.accept(folder)) {
                folders.add(folder);
            }
        }
        files.addAll(folders);
    }

    TUExecutionResult result = null;

    if(files.size() == 0) {
        result = TUExecutionResult.warning(this, "No files have been found", new ArrayList<File>(files));
    } else {
        result = TUExecutionResult.value(this, new ArrayList<File>(files));
    }

    return result;
}

/**
 * 获取模板目录所有文件列表和目录.
 *
 * @param directory the directory
 * @return the file list
 */
private Collection<File> getTemplateDirectoryFiles(File directory) {
    return FileUtils.listFilesAndDirs(directory, TrueFileFilter.INSTANCE, DirectoryFileFilter.INSTANCE);
}

 

 

 

Tags