如何从特定给定的目录和所有子目录中搜索具有特定扩展名的文件

用户名

只是为了我自己的学习,我试图在我的音乐收藏中找到所有mp3文件,并找到所有没有id3v2标签的曲目。我的代码为我提供了有关我指定目录的信息,但它没有在子目录中查找mp3文件。尽管我可以看到它可以识别目录,因为我可以将它们打印出来。请在下面查看我的代码。如果代码格式不正确,我感到非常抱歉。我是盲人,并且使用屏幕阅读器,而且我对这个网站上的格式化程序不是很满意。

public static int numberOfUntaggedTracks(String directory) throws UnsupportedTagException, InvalidDataException, IOException {
    int untaggedTracks = 0;
    File f = new File(directory);
    File l[] = f.listFiles();
    for (File x: l) {
    if (x.isHidden() || !x.canRead())
        continue;
    if (x.isDirectory()) {
        System.out.println("testing" + x.getPath());
        numberOfUntaggedTracks(x.getPath());
    } else if (x.getName().endsWith(".mp3")) {
        Mp3File song = new Mp3File(x.getPath());

        if (song.hasId3v1Tag() == false) {
        untaggedTracks++;
        }
        //end of else if checking for .mp3 extension                
    }
    //end of for loop
    }
    return untaggedTracks;
}
贾伯(Jaber)

apatche commons-io的FileUtils具有一个listFiles方法,该方法应该可以满足您的需求。

该方法采用两个IOFileFilter实例,您可以使用它们来过滤文件(在您的情况下为mp3文件)并过滤子目录(以便您可以控制要包括在搜索中的目录)。

为了使您的代码正常工作,只需更改numberOfUntaggedTracks(x.getPath());untaggedTracks += numberOfUntaggedTracks(x.getPath());

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Java ..中基于特定文件的扩展名过滤文件夹(目录和子目录)?

列出当前目录和所有子目录中特定大小的文件

从所有子目录复制具有特定扩展名的所有文件

如何将所有具有特定扩展名的文件移动到特定目录?

gitignore目录和子目录中的所有文件(特定文件类型)

使用git查看子目录中与特定文件扩展名相关的所有日志

删除所有没有特定扩展名的文件夹和子目录

Git会忽略除特定扩展名之外的所有文件,即使在子目录下也是如此

R:计算不同子目录/文件夹中具有特定扩展名的文件数

Symfony Finder:获取具有特定扩展名的所有文件以及特定目录中的所有目录

在具有特定扩展名的目录中查找和安装最新文件

如何在多个目录中搜索具有给定扩展名的文件?

使用glob python读取目录中具有特定扩展名的所有文件

搜索目录和子目录中包含特定字符串的所有文件并删除字符串

如何使用Python递归复制目录中具有特定扩展名的所有文件?

如何获取目录中具有特定扩展名的所有文件?

如何忽略一个目录及其子目录中的特定扩展名的所有文件?

列出具有特定扩展名的目录中的所有文件

如何删除所有子目录中具有给定名称的所有文件?

如何从所有子目录中获取特定的文件名?

如何搜索所有子目录以找到具有特定名称的子目录?

如何将具有特定文件扩展名的所有文件从子目录移动到单个目录

递归遍历所有子目录,如果存在具有特定扩展名的文件,则在该文件夹中运行一次命令

移动所有文件在特定的子目录中

在特定目录及其子目录中,找到所有以 .tmp 扩展名结尾的文件夹

如何将具有特定扩展名的文件从子目录移动到另一个目录,包括使用 CMD 创建文件所在的子目录?

删除所有子目录中具有特定名称的文件

在目录及其所有子目录中搜索文件名而不识别子目录中的文件

将具有特定扩展名的文件从目录移动到 PHP 中的子目录