我要读一个名字部分已知的文件。假设我的文件很少,如下所示:
当我只知道单词“apple”,“orange”或“banana”时,我想把InputStream放到那些文件中。
任何建议都将受到高度赞赏,并提前致谢。
答案 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]);
}