Java:如何复制一个目录,但排除主目录深处的一些目录
使用java,我想沿着文件路径复制整个目录,不包括一些子目录(以及这些子目录中的所有文件)。我该怎么做?我在SO上见过几个这样的问题,但使用Perl/ANT等,而不使用Java。尝试使用ApacheCommons IO。其中一个重载版本使用您要实现的单一直接方法执行:Java:如何复制一个目录,但排除主目录深处的一些目录,java,directory,copy,Java,Directory,Copy,使用java,我想沿着文件路径复制整个目录,不包括一些子目录(以及这些子目录中的所有文件)。我该怎么做?我在SO上见过几个这样的问题,但使用Perl/ANT等,而不使用Java。尝试使用ApacheCommons IO。其中一个重载版本使用您要实现的单一直接方法执行: boolean accept(File pathname) 另请查看Commons IO中现有方便的文件过滤器的列表: AgeFileFilter 和文件过滤器 CanReadFileFilter canwritefilter
boolean accept(File pathname)
另请查看Commons IO中现有方便的文件过滤器的列表:
- AgeFileFilter
- 和文件过滤器
- CanReadFileFilter
- canwritefilter
- 委派文件筛选器
- 目录文件过滤器
- 空滤器
- 文件过滤器
- 隐藏文件过滤器
- MagicNumberFileFilter
- 名称文件过滤器
- NotFileFilter
- OrFileFilter
- 预过滤器
- RegexFileFilter
- 尺寸过滤器
- 后缀文件过滤器
- 通配符文件过滤器
- 通配符过滤器
您可以用与其他任何语言相同的方式来完成
从源目录的根目录开始
遍历所有子项(例如使用广度优先搜索)
如果你想忽略这个孩子,就忽略它
如果子目录是目录,则对该子目录使用File.mkdir()
如果子项是文件,请复制它
使用FileInputStream打开文件
使用FileOutputStream将读取的数据写入新文件
对每个子目录重复此操作
或者,您可以用简单的方法来实现这一点
1.
2.project“。但是使用Perl/ANT等,而不是使用Java。”ANT任务主要是用Java编写的。@Andrew Thompson:我正要问这个问题。可以从Java调用ANT脚本吗?谷歌在这条线上抛出了一些链接。文件过滤器重载是完美的。