Java 当部分名称已知时输入流?(安卓)
我要读一个名字部分已知的文件。假设我有以下几个文件:Java 当部分名称已知时输入流?(安卓),java,android,file,io,inputstream,Java,Android,File,Io,Inputstream,我要读一个名字部分已知的文件。假设我有以下几个文件: apple_5_34.jpg 橙色3_67.bmp 香蕉1_13.gif 当我只知道“苹果”、“橙色”或“香蕉”这些词时,我想把输入流输入到这些文件中 如有任何建议,我们将不胜感激 在目录上调用listFiles()以获取文件数组,循环遍历它,检查File[i].getName().toLowerCase().startsWith(“香蕉”),如果是,则获取文件[i]的输入流您有两个选项: 在所有文件夹内容上循环运行,并检查上面定义的所有
- apple_5_34.jpg
- 橙色3_67.bmp
- 香蕉1_13.gif
listFiles()
以获取文件数组,循环遍历它,检查File[i].getName().toLowerCase().startsWith(“香蕉”)
,如果是,则获取文件[i]
的输入流
您有两个选项:
在所有文件夹内容上循环运行,并检查上面定义的所有3个名称的startsWith
case
或者像这样运行regex
:
[apple|banana|orange]+([\d\D]+)
或
代码片段
InputStream in = null;
if(File[i].getName().matches("[apple|banana|orange]+([\d\D]+)")){
in = new FileInputStream(File[i]);
}
完美的列出
ZipResourceFile
中的所有文件是否也有效?如果您可以获得ZipResourceFile中的文件列表,请选择“是”。找不到类的文档,所以我没有检查。@SamRad文件
将zip
类型视为文件而不是文件夹,因此它对您也适用ZipResourceFile
不是文件。它是APK扩展Zip库中包含的一个类,允许您获取已知文件的输入流。实际上,那个Zip包含了我的文件。但是你的回答帮助很大。谢谢@Fess@Mike_SD
InputStream in = null;
if(File[i].getName().matches("[apple|banana|orange]+([\d\D]+)")){
in = new FileInputStream(File[i]);
}