如何检查文件夹中文件名中的元素是否包含字符串数组列表中的字符串名称?

D B

我正在尝试搜索图像文件夹以检查文件夹中的每个图像路径是否包含来自我的 ArrayList 的字符串元素。如果文件路径包含字符串元素,我想将其添加到新的字符串数组中。这是我到目前为止。与数组列表中的字符串匹配的图像路径在 for 循环中正确打印,但在循环之外它打印 null。

/*ArrayList content:
   Snow Fall.jpg
   Soft snow.jpg 
   Winter Wonderland.jpg
*/


public void getImages(ArrayList<String> theImagesArrayList) {

    File dir = new File("C:/Users/someone/Desktop/slideshow images");

    int count=0;
    File[] files = dir.listFiles();
    file = new String[theImagesArrayList.size()];

    for (int i = 0; i < theImagesArrayList.size(); i++) {
        for (File b : files) {
            if (theImagesArrayList.contains(b.getName())) {
                    count++;
                    if(count<=theImagesArrayList.size()){
                        file[i] = b.getPath();
                        System.out.println(file[i]);
                        /*Output from above print statement:

                         C:\Users\someone\Desktop\slideshow images\Snow Fall.jpg
                         C:\Users\someone\Desktop\slideshow images\Soft snow.jpg
                         C:\Users\someone\Desktop\slideshow images\Winter Wonderland.jpg
                         */

                }
            }
        }
    }
    System.out.println(" ");
    for(String c: file){
        System.out.println(c);
    }
    /*Output above loop:

      C:\Users\someone\Desktop\slideshow images\Winter Wonderland.jpg
      null
      null
     */
    }
  }
 }
}
安德烈亚

count++就是问题所在。file[i] = b.getPath();在第一次外部迭代中执行所有 3 次,在接下来的迭代中不再执行。所以,所有三个路径都写在file[0]. 这就是为什么file[1]file[2]保持为空。

尝试break;按照System.out.println(file[i]);说明操作。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

检查文件名中是否包含字符串

使用bash shell映射json字符串中文件夹中的文件名

如何检查bash中是否存在文件名中包含特定字符串的文件?

搜索并替换文件名中的字符串,而不会影响包含相同字符串的文件夹名称

如何删除文件名中包含特定字符串的文件夹和所有子文件夹中的文件?

Linux中文件名中的字符串替换

替换bash中文件名中的字符串

尝试重命名文件夹中的文件(基于文件名中的字符串)

如何检查文件中是否包含字符串

如何知道文件名在 Firebase 云存储中是否包含其他字符串?

文件夹或文件名中的Glob模式匹配字符串

从选择字符串输出中获取“父文件夹+文件名”

如何在原始文件夹android中获取字符串文件名(我的音频文件)

使用PySpark从名称不包含字符串的文件夹中读取文件

如何在所有文件夹和文件名中替换字符串

复制文件,以便将单个文件复制到文件夹中,该文件名以完整文件夹名称中的字符串作为字符串

检查我的字符串是否包含数组中的元素

在特定扩展名的文件中搜索字符串后提取文件夹名称

如何将db中的值与python中文件名的子字符串匹配

查找包含文本文件的文件夹中是否存在字符串

Bash:复制根/当前文件夹中具有相同扩展名的所有文件,但文件名包含某些字符串的文件除外

在名称中包含子字符串的目录中获取文件名数组

如何遍历目录中某个文件夹中的所有csv文件名,并对这些文件名执行字符串拆分?

如何遍历文件夹,将每个文件夹名称写入字符串数组

VBA根据字符串名称从文件夹中获取图片。包含通配符

识别文件夹名称中的字符串以创建变量(字符串)

如何仅在名称包含某些字符串的某些文件夹下替换文件中的字符串

检查字符串是否包含列表中的元素(字符串)

检查文件是否在bash中包含多行字符串