我要讀取名稱部分已知的文件。比方說,我有一些文件,如以下內容:部分名稱已知時的InputStream? (Android)
- apple_5_34.jpg
- orange_3_67.bmp
- banana_1_13.gif
而且我想,當我拿到的InputStream這些文件只知道「蘋果」,「橙」或「香蕉」這些詞。
任何建議將不勝感激,並提前致謝。
我要讀取名稱部分已知的文件。比方說,我有一些文件,如以下內容:部分名稱已知時的InputStream? (Android)
而且我想,當我拿到的InputStream這些文件只知道「蘋果」,「橙」或「香蕉」這些詞。
任何建議將不勝感激,並提前致謝。
你有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]);
}
打電話給listFiles()
就可以得到一個File數組,通過它循環,檢查是否File[i].getName().toLowerCase().startsWith("banana")
如果是這樣,得到InputStream
爲File[i]
。
完美的片段。它是否也可以列出'ZipResourceFile'中的所有文件? –
如果您可以獲取ZipResourceFile內的文件列表,是的。找不到該課程的文檔,所以我沒有檢查。 –
@SamRad'File'將'zip'類型看作文件不是文件夾,所以它也可以用於你 –