部分名称已知时的InputStream? (机器人)

时间:2012-10-25 18:31:29

标签: java android file io inputstream

我要读一个名字部分已知的文件。假设我的文件很少,如下所示:

  • apple_5_34.jpg
  • orange_3_67.bmp
  • banana_1_13.gif

当我只知道单词“apple”,“orange”或“banana”时,我想把InputStream放到那些文件中。

任何建议都将受到高度赞赏,并提前致谢。

2 个答案:

答案 0 :(得分:3)

在目录上调用listFiles()以获取文件数组,循环访问它,检查是否File[i].getName().toLowerCase().startsWith("banana"),如果是,请获取InputStream File[i]

答案 1 :(得分:2)

您有两个选择:

在所有文件夹内容上循环运行,并检查startsWith大小写所有3个上面定义的名称。

或运行regex之类的:

[apple|banana|orange]+([\d\D]+)

/\b[apple|banana|orange][^\b]+\b/g

代码片段

 InputStream in = null;

if(File[i].getName().matches("[apple|banana|orange]+([\d\D]+)")){
 in = new FileInputStream(File[i]);
}