2012-10-25 42 views
3

我要讀取名稱部分已知的文件。比方說,我有一些文件,如以下內容:部分名稱已知時的InputStream? (Android)

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

而且我想,當我拿到的InputStream這些文件只知道「蘋果」,「橙」或「香蕉」這些詞。

任何建議將不勝感激,並提前致謝。

回答

2

你有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]); 
} 
3

打電話給listFiles()就可以得到一個File數組,通過它循環,檢查是否File[i].getName().toLowerCase().startsWith("banana")如果是這樣,得到InputStreamFile[i]

+0

完美的片段。它是否也可以列出'ZipResourceFile'中的所有文件? –

+1

如果您可以獲取ZipResourceFile內的文件列表,是的。找不到該課程的文檔,所以我沒有檢查。 –

+1

@SamRad'File'將'zip'類型看作文件不是文件夾,所以它也可以用於你 –