如何检查文件夹是否包含具有特定路径的n文件

时间:2016-11-03 09:43:53

标签: java android file path

我正在开发Android应用,我必须实现一个返回整数的函数。

我有一个包含不同文件的文件夹,每个文件都由这样的自定义路径组成:

  • 123_part_ax0.jpg

  • 123_part_ax1.jpg

  • 123_part_ax2.jpg

  • 123_part_ax3.jpg

  • 123_part1_ax0.jpg

  • 123_part1_ax1.jpg

我需要计算具有相同路径的所有文件,例如123_part_ax count = 4

*我使用的解决方案*

public int itemNumber(int id) {
    int nItem = 0;
    File dir = new File(Environment.getExternalStorageDirectory() + "/.PATH/"+id);
    File[] listOfFiles = dir.listFiles();

    for (int i = 0; i < listOfFiles.length; i++) {
        if(listOfFiles[i].getName().contains("WHAT I WHAT SEARCH")){
            nItem++;
        }
    }
    return nItem;
}

1 个答案:

答案 0 :(得分:3)

对于此类需求,您可以使用File#list(FilenameFilter filter)File#listFiles(FilenameFilter filter)按文件名过滤文件夹的内容,然后获取生成的数组的length

例如list(FilenameFilter)

int total = new File("/path/to/my/folder")
    .list((dir, name) -> name.startsWith("123_part_ax"))
    .length;