我想读取一个文件,但只知道部分文件名。比如我有几个文件如下:
- apple_5_34.jpg
- orange_3_67.bmp
- banana_1_13.gif
我只知道文件名中包含“apple”、“orange”或“banana”,想要获取这些文件的InputStream流。
如果您有任何建议,将不胜感激,提前致谢。
我想读取一个文件,但只知道部分文件名。比如我有几个文件如下:
我只知道文件名中包含“apple”、“orange”或“banana”,想要获取这些文件的InputStream流。
如果您有任何建议,将不胜感激,提前致谢。
在目录上调用 listFiles()
方法以获取文件数组,循环遍历它,检查是否 File[i].getName().toLowerCase().startsWith("banana")
,如果是,则获取 File[i]
的 InputStream
。
您有两个选项:
循环运行所有文件夹内容,并检查以上3个名称的startsWith
情况。
或者运行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]);
}
ZipResourceFile
也可以列出所有文件吗? - Sam R.File
类型将zip
类型视为文件而不是文件夹,所以它对您也有效。 - Maxim ShoustinZipResourceFile
不是文件,它是包含在APK Expansion Zip Library
中的一个类,它允许您获取已知文件的 InputStream。实际上该 Zip 包含了我的文件。但是你的答案帮了很大的忙。谢谢 @Fess @Mike_SD。 - Sam R.