我正在开发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;
}
答案 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;