java - 仅列出目录中的文件

标签 java file directory

<分区>

我有一个具有以下结构的文件夹

C:/rootDir/

rootDir has following files

test1.xml
test2.xml
test3.xml
testDirectory <------- This is a subdirectory inside rootDir

我只对 rootDir 中的 XML 文件感兴趣,因为如果我使用 JDOM 读取 XML,下面的代码也会考虑 testDirectory 中的文件并吐出 content not allowed 异常

File testDirectory = new File("C://rootDir//");
File[] files = testDirectory.listFiles();

如何在使用 listFiles 方法时排除子目录?下面的代码可以工作吗?

File testDirectory = new File("C://rootDir//");
File[] files = testDirectory.listFiles(new FilenameFilter() {
    
    @Override
    public boolean accept(File dir, String name) {
        return name.toLowerCase().endsWith(".xml");
    }
});

最佳答案

使用 FileFilter相反,因为它会让您访问实际文件,然后包括对 File#isFile 的检查

File testDirectory = new File("C://rootDir//");
File[] files = testDirectory.listFiles(new FileFilter() {
    @Override
    public boolean accept(File pathname) {
        String name = pathname.getName().toLowerCase();
        return name.endsWith(".xml") && pathname.isFile();
    }
});

关于java - 仅列出目录中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16391367/

相关文章:

java - 无法使用 dropwizard-core 类

java - 如何从 Map<int , int[] > 中提取整数数组的长度?

java - 使用 Mockito 从模拟中抛出已检查的异常

android - 如何搜索手机SD卡或其他地方的文件

ubuntu - 同步 FTP 和本地文件夹 - Ubuntu

python - 使用 setuptools 更改默认 dist 文件夹

java - 复制 Google Cloud Storage 中的对象

java - 使用 Xuggler 从 mp4 创建 mp3

javascript - 如何将文件输入克隆到隐藏 iframe 中的另一个文件输入

c++ - 如何使用 ntquerydirectoryfile 函数 Hook 隐藏文件夹