com.google.common.io.Files.fileTreeTraverser()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(6.9k)|赞(0)|评价(0)|浏览(140)

本文整理了Java中com.google.common.io.Files.fileTreeTraverser()方法的一些代码示例,展示了Files.fileTreeTraverser()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Files.fileTreeTraverser()方法的具体详情如下:
包路径:com.google.common.io.Files
类名称:Files
方法名:fileTreeTraverser

Files.fileTreeTraverser介绍

[英]Returns a TreeTraverser instance for File trees.

Warning: File provides no support for symbolic links, and as such there is no way to ensure that a symbolic link to a directory is not followed when traversing the tree. In this case, iterables created by this traverser could contain files that are outside of the given directory or even be infinite if there is a symbolic link loop.
[中]返回文件树的TreeTraverser实例。
警告:文件不支持符号链接,因此无法确保在遍历树时不遵循指向目录的符号链接。在这种情况下,由该遍历器创建的iterables可能包含给定目录之外的文件,如果存在符号链接循环,甚至可能是无限的。

代码示例

代码示例来源:origin: springside/springside4

/**
 * 直接使用Guava的TreeTraverser,获得更大的灵活度, 比如加入各类filter,前序/后序的选择,一边遍历一边操作
 * 
 * <pre>
 * FileUtil.fileTreeTraverser().preOrderTraversal(root).iterator();
 * </pre>
 */
public static TreeTraverser<File> fileTreeTraverser() {
  return Files.fileTreeTraverser();
}

代码示例来源:origin: springside/springside4

/**
 * 前序递归列出所有文件, 包含文件与目录,及根目录本身.
 * 
 * 前序即先列出父目录,在列出子目录. 如要后序遍历, 直接使用Files.fileTreeTraverser()
 */
public static List<File> listAll(File rootDir) {
  return Files.fileTreeTraverser().preOrderTraversal(rootDir).toList();
}

代码示例来源:origin: springside/springside4

/**
 * 前序递归列出所有文件, 列出文件名匹配通配符的文件
 * 
 * 如 ("/a/b/hello.txt", "he*") 将被返回
 */
public static List<File> listFileWithWildcardFileName(final File rootDir, final String fileNamePattern) {
  return Files.fileTreeTraverser().preOrderTraversal(rootDir).filter(new WildcardFileNameFilter(fileNamePattern))
      .toList();
}

代码示例来源:origin: springside/springside4

/**
 * 前序递归列出所有文件, 只包含文件.
 */
public static List<File> listFile(File rootDir) {
  return Files.fileTreeTraverser().preOrderTraversal(rootDir).filter(Files.isFile()).toList();
}

代码示例来源:origin: springside/springside4

/**
 * 前序递归列出所有文件, 列出后缀名匹配的文件. (后缀名不包含.)
 */
public static List<File> listFileWithExtension(final File rootDir, final String extension) {
  return Files.fileTreeTraverser().preOrderTraversal(rootDir).filter(new FileExtensionFilter(extension)).toList();
}

代码示例来源:origin: springside/springside4

/**
 * 前序递归列出所有文件, 列出文件名匹配正则表达式的文件
 * 
 * 如 ("/a/b/hello.txt", "he.*\.txt") 将被返回
 */
public static List<File> listFileWithRegexFileName(final File rootDir, final String regexFileNamePattern) {
  return Files.fileTreeTraverser().preOrderTraversal(rootDir)
      .filter(new RegexFileNameFilter(regexFileNamePattern)).toList();
}

代码示例来源:origin: springside/springside4

/**
 * 前序递归列出所有文件, 列出符合ant path风格表达式的文件
 * 
 * 如 ("/a/b/hello.txt", "he.*\.txt") 将被返回
 */
public static List<File> listFileWithAntPath(final File rootDir, final String antPathPattern) {
  return Files.fileTreeTraverser().preOrderTraversal(rootDir)
      .filter(new AntPathFilter(FilePathUtil.concat(rootDir.getAbsolutePath(), antPathPattern))).toList();
}

代码示例来源:origin: simpligility/android-maven-plugin

private void computeDuplicateFilesInSource( File folder )
{
  String rPath = folder.getAbsolutePath();
  for ( File file : Files.fileTreeTraverser().breadthFirstTraversal( folder ).toList() )
  {
    String lPath = file.getAbsolutePath();
    if ( lPath.equals( rPath ) )
    {
      continue; //skip the root
    }
    lPath = lPath.substring( rPath.length() + 1 ); //strip root folder to make relative path
    if ( jars.get( lPath ) == null )
    {
      jars.put( lPath, new ArrayList<File>() );
    }
    jars.get( lPath ).add( folder );
  }
}

代码示例来源:origin: xuminwlt/j360-dubbo-app-all

/**
 * 前序递归列出所有文件, 包含文件与目录,及根目录本身.
 * 
 * 前序即先列出父目录,在列出子目录. 如要后序遍历, 直接使用Files.fileTreeTraverser()
 */
public static List<File> listAll(File rootDir) {
  return Files.fileTreeTraverser().preOrderTraversal(rootDir).toList();
}

代码示例来源:origin: io.springside/springside-utils

/**
 * 前序递归列出所有文件, 包含文件与目录,及根目录本身.
 * 
 * 前序即先列出父目录,在列出子目录. 如要后序遍历, 直接使用Files.fileTreeTraverser()
 */
public static List<File> listAll(File rootDir) {
  return Files.fileTreeTraverser().preOrderTraversal(rootDir).toList();
}

代码示例来源:origin: xuminwlt/j360-dubbo-app-all

/**
 * 前序递归列出所有文件, 只包含文件.
 */
public static List<File> listFile(File rootDir) {
  return Files.fileTreeTraverser().preOrderTraversal(rootDir).filter(Files.isFile()).toList();
}

代码示例来源:origin: xuminwlt/j360-dubbo-app-all

/**
 * 前序递归列出所有文件, 列出后缀名匹配的文件. (后缀名不包含.)
 */
public static List<File> listFileWithExtension(final File rootDir, final String extension) {
  return Files.fileTreeTraverser().preOrderTraversal(rootDir).filter(new FileExtensionFilter(extension)).toList();
}

代码示例来源:origin: xuminwlt/j360-dubbo-app-all

/**
 * 前序递归列出所有文件, 列出文件名匹配通配符的文件
 * 
 * 如 ("/a/b/hello.txt", "he*") 将被返回
 */
public static List<File> listFileWithWildcardFileName(final File rootDir, final String fileNamePattern) {
  return Files.fileTreeTraverser().preOrderTraversal(rootDir).filter(new WildcardFileNameFilter(fileNamePattern))
      .toList();
}

代码示例来源:origin: io.springside/springside-utils

/**
 * 前序递归列出所有文件, 只包含文件.
 */
public static List<File> listFile(File rootDir) {
  return Files.fileTreeTraverser().preOrderTraversal(rootDir).filter(Files.isFile()).toList();
}

代码示例来源:origin: DarLiner/vjtools

/**
 * 前序递归列出所有文件, 列出文件名匹配正则表达式的文件
 * 
 * 如 ("/a/b/hello.txt", "he.*\.txt") 将被返回
 */
public static List<File> listFileWithRegexFileName(final File rootDir, final String regexFileNamePattern) {
  return Files.fileTreeTraverser().preOrderTraversal(rootDir)
      .filter(new RegexFileNameFilter(regexFileNamePattern)).toList();
}

代码示例来源:origin: DarLiner/vjtools

/**
 * 前序递归列出所有文件, 只包含文件.
 */
public static List<File> listFile(File rootDir) {
  return Files.fileTreeTraverser().preOrderTraversal(rootDir).filter(Files.isFile()).toList();
}

代码示例来源:origin: com.android.tools/common

/**
 * Find a list of files in a directory, using a specified path pattern.
 */
public static List<File> find(@NonNull File base, @NonNull final Pattern pattern) {
  checkArgument(base.isDirectory(), "'%s' must be a directory.", base.getAbsolutePath());
  return Files.fileTreeTraverser()
      .preOrderTraversal(base)
      .filter(file -> pattern.matcher(
          FileUtils.toSystemIndependentPath(file.getPath())).find())
      .toList();
}

代码示例来源:origin: com.android.tools/common

/**
 * Find a file with the specified name in a given directory .
 */
public static Optional<File> find(@NonNull File base, @NonNull final String name) {
  checkArgument(base.isDirectory(), "'%s' must be a directory.", base.getAbsolutePath());
  return Files.fileTreeTraverser()
      .preOrderTraversal(base)
      .filter(file -> name.equals(file.getName()))
      .last();
}

代码示例来源:origin: xuminwlt/j360-dubbo-app-all

/**
 * 前序递归列出所有文件, 列出符合ant path风格表达式的文件
 * 
 * 如 ("/a/b/hello.txt", "he.*\.text") 将被返回
 */
public static List<File> listFileWithAntPath(final File rootDir, final String antPathPattern) {
  return Files.fileTreeTraverser().preOrderTraversal(rootDir)
      .filter(new AntPathFilter(FilePathUtil.contact(rootDir.getAbsolutePath(), antPathPattern))).toList();
}

代码示例来源:origin: io.springside/springside-utils

/**
 * 前序递归列出所有文件, 列出符合ant path风格表达式的文件
 * 
 * 如 ("/a/b/hello.txt", "he.*\.text") 将被返回
 */
public static List<File> listFileWithAntPath(final File rootDir, final String antPathPattern) {
  return Files.fileTreeTraverser().preOrderTraversal(rootDir)
      .filter(new AntPathFilter(FilePathUtil.contact(rootDir.getAbsolutePath(), antPathPattern))).toList();
}

相关文章