【问题标题】:How to check if a folder contains n file with a certain path如何检查文件夹是否包含具有特定路径的n个文件
【发布时间】:2016-11-03 09:43:52
【问题描述】:

我正在开发一个 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;
}

【问题讨论】:

  • 向我们展示你到目前为止所做的事情。
  • 什么不起作用?你目前的结果是什么?将dir 打印到 logcat 以确保您正在查看正确的文件夹。
  • 我想你事先并不知道路径,否则解决方案会很简单。
  • 谢谢大家,我解决了问题,由于我的错误,我没有注意到向函数发送了不正确的参数,这使我无法获得正确的输出。无论如何,我希望代码可以帮助某人:)

标签: java android file path


【解决方案1】:

对于这种需要,您可以使用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;

【讨论】:

    猜你喜欢
    • 2018-07-17
    • 1970-01-01
    • 2017-06-30
    • 1970-01-01
    • 1970-01-01
    • 2017-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多