使用 apache commons fileutils 排除特定子目录

2024-01-26

我想使用 apache commons lib 列出当前目录下的所有文件,但排除子目录及其子目录中的所有文件。

例如 :如果我当前目录是 -- A 及其子目录为 B, C ,D
B 的子目录为 b1,b2 (b1 的子目录为 b12),C 的子目录为 c1 , c2... 现在我想列出 C,c1,c2, D 中的所有文件(不包括 B , b1 ,b12 , b2 )

任何帮助将不胜感激!


使用org.apache.commons.io.FileFilter,有一个好例子 http://commons.apache.org/proper/commons-io/javadocs/api-release/index.html?org/apache/commons/io/filefilter/package-summary.html关于如何在 JavaDoc 中使用它。

例如我有一个类似的目录结构:

/tmp/testFilter/A
/tmp/testFilter/B
/tmp/testFilter/C/c1
/tmp/testFilter/C/c2
/tmp/testFilter/D/d1

然后我可以使用以下代码仅列出 C 和 D 下的文件:

public class FileLister {
    public static void main(String args[]) {
        File dir = new File("/tmp/testFilter");
        String[] files = dir.list(
            new NotFileFilter(
                new OrFileFilter(
                        new PrefixFileFilter("A"),
                        new PrefixFileFilter("B")
                )
            )
        );
        listFiles(dir, files);
    }

    private static void listFiles(File rootDir, String[] files) {
        for (String fileName: files) {
            File fileOrDir = new File(rootDir, fileName);
            if (fileOrDir.isDirectory()) {
                listFiles(fileOrDir, fileOrDir.list());
            } else {
                System.out.println(fileOrDir);
            }
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 apache commons fileutils 排除特定子目录 的相关文章

随机推荐

  • If 语句内部和外部的 Return

    这可能是一个相当容易回答的问题 但它已经困扰我一段时间了 如果 if 语句内有一个 return 语句 在一个方法内 在 Java 语言中 但我在末尾添加另一个作为包罗万象并避免错误 则两个返回值都将在其他 if if 语句为真 一个例子
  • 我如何在Python中只向下舍入数字/浮点数?

    我将生成这个随机数 例如 12 75 或 1 999999999 或 2 65 我希望始终将此数字向下舍入为最接近的整数 因此 2 65 将四舍五入为 2 抱歉 我问了很多遍 但没有找到答案 谢谢 您可以选择我们int math trunc
  • org.bson.BSONObject 中的 java 类型

    我目前正在学习mongodb 的 BSON java 库 http github com mongodb mongo java driver 我正在尝试改变org bson BSONObject到 XML 中 以便将其转换为XSLT样式表
  • 在solr中搜索特殊字符

    我在 solr 中搜索特殊字符时遇到问题 我的文档有一个 标题 字段 有时它可能像 泰坦尼克号 1999 它有字符 当我尝试使用 在 solr 中搜索时 我收到 400 错误 我试图转义这个字符 所以我尝试了 和 之类的东西 经过这些更改
  • C# 中使用掩码进行位操作

    我需要一些有关 C 中位图操作的帮助 我想要一个UInt16 隔离任意数量的位 并使用另一个位设置它们UInt16 value Example 10101010 Original Value 00001100 Mask Isolates b
  • Android将图片旋转90度(相机拍摄)[重复]

    这个问题在这里已经有答案了 我正在通过代码在我的 Samsung Galaxy SII 设备中拍照 保存并在屏幕上显示它后 我看到它旋转了 90 度 我知道这是一些设备问题 并非所有设备上都会发生这种情况 我正在使用给定的相机意图拍照并将其
  • Apollo 客户端什么是主动查询?

    My Setup Typescript 反应应用程序 后端 GraphQL API 阿波罗客户端 使用 Apollo 客户端 Devtools 扩展进行检查 我的问题 什么是主动查询 Apollo 文档谈论了很多主动查询 但我很难得到一个实
  • 如果填充了另一个字段,则 MVC 3 字段为必填字段

    我有一个简单的问题 例如 我有两个字段映射在模型 ex 上 textbox 1 和 textbox 2 我想问是否存在一种方法 前强制装饰器 仅当我填充 textbox 1 时才强制执行 textbox 2 如果我不填写textbox 1
  • iPhone 在 CoreData 保存时崩溃

    这是一个不同的情况这个问题 https stackoverflow com questions 1230858 iphone core data crashing on save 因为提供的解决方案不起作用并且堆栈不同 当我使用 cored
  • 从 HttpResponseMessage 获取 Excel 文件

    我正在开发一个 ASP NET Core 2 2 项目 我需要使用浏览器下载 Excel 但是当我执行请求时 我只得到一些 Json 我的 Excel 在流中 并且流不为空 这是我的代码 HttpResponseMessage messag
  • 为什么 requestWhenInUseAuthorization 不提示用户访问该位置?

    In my viewDidLoad我有的方法 locationManager CLLocationManager alloc init initializing locationManager locationManager delegat
  • 是否有 DCC32 选项将特定编译器警告视为错误?

    对于命令行构建 我想将警告 例如 构造包含抽象方法的实例 视为错误 我在 Delphi 2009 中没有找到用于此目的的 dcc32 命令行选项 有没有办法 例如使用 dcc32 cfg 来执行此操作 像这样 dcc32 W CONSTRU
  • 获取 QPixmap 的哈希值的最佳方法是什么?

    我正在使用 Qt 4 5 开发一个图形应用程序 并将图像放入 QPixmapCache 中 我想对此进行优化 以便如果用户插入已经在缓存中的图像 它将使用该图像 现在 每个图像都有一个唯一的 ID 有助于在绘制事件时优化自身 但是我意识到
  • PHP 中 error_log() 中的换行符

    如何在使用时插入换行符error log in PHP 我尝试使用 br and n 但那些没有用 添加错误消息时使用双引号 error log This is a two lined message nThis is line two 应
  • 如何使用pickle保存聊天机器人模型

    我创建了一个Chatbot using 聊天机器人 and tkinter图书馆 但每当我打开文件时它就会启动训练模型并且需要花费很多时间 因此我搜索并找到了解决方案泡菜模块 但现在我也尝试了 pickle 它不起作用并显示错误 有什么办法
  • 使用不同类型容器的迭代器范围初始化容器

    假设我们有std set
  • 命令行:“-”转换为“û”

    我在 bat 或 cmd 文件中运行此命令来启动 ftp 脚本 ftp v i s test script txt 命令窗口将其转换为 ftp v i s test script txt 因此它不起作用 注意 如果我从 cmd 窗口手动运行
  • 如何统计特定组中共同值的数量?

    我有一个数据框df df lt data frame shop c A A A B B B C C C product c 1 2 3 4 5 1 5 2 4 对于每对商店 即AB AC and BC 我想统计一下常见产品的数量 预期输出如
  • Ubuntu wsl2 git 在大型存储库上出现“远程端意外挂起”

    在 Windows 上的 wsl2 中的 Ubuntu 19 04 中获得此操作数天 git clone https github com gohugoio hugo git Cloning into hugo error RPC fail
  • 使用 apache commons fileutils 排除特定子目录

    我想使用 apache commons lib 列出当前目录下的所有文件 但排除子目录及其子目录中的所有文件 例如 如果我当前目录是 A 及其子目录为 B C DB 的子目录为 b1 b2 b1 的子目录为 b12 C 的子目录为 c1 c