使用Java中的规则将文件从一个目录复制到另一个目录

使用Java中的规则将文件从一个目录复制到另一个目录,java,file-io,Java,File Io,我想在java中将文件从一个目录复制到另一个目录,但我遇到以下情况: 源目录可能具有任意深度 我对副本有一套规则,例如: “复制以*.dll结尾的所有文件” “复制子目录和所有内容” “仅复制此特定文件” 这些规则是可配置的,因此这意味着它们将从某个文件中读取 看看这个特殊的问题,看起来Ant中的copy命令可以满足我的需要,但是我不能在这个项目中使用Ant,所以我想知道是否有什么东西可以让我像Ant在普通java程序中所做的那样 我查看了ApacheCommons,但FileUtils

我想在java中将文件从一个目录复制到另一个目录,但我遇到以下情况:

  • 源目录可能具有任意深度
  • 我对副本有一套规则,例如:
    • “复制以*.dll结尾的所有文件”
    • “复制子目录和所有内容”
    • “仅复制此特定文件”
  • 这些规则是可配置的,因此这意味着它们将从某个文件中读取
看看这个特殊的问题,看起来Ant中的copy命令可以满足我的需要,但是我不能在这个项目中使用Ant,所以我想知道是否有什么东西可以让我像Ant在普通java程序中所做的那样

我查看了ApacheCommons,但FileUtils方法似乎不包含传递“过滤器”的方法

我可以使用File类和一些FilenameFilters从头开始实现这一点,但我确信以前有人遇到过这个问题


有什么想法吗?

为您的规则想出一个语法,并解析该语法,比复制文件要困难得多。您可以使用Ant语法进行文件过滤。我确实希望使用Ant语法,问题是我不能将Ant用于此应用程序。Ant语法是XML。您可以使用任何Java XML解析器将所需信息转换为您可以使用的内部Java格式。