2015-01-20 64 views
3

現在我有這樣的代碼:獲得從資產文件夾中文件的文件名只與擴展名爲.txt

ArrayList<String> items = new ArrayList<String>(); 
       AssetManager assetManager = getApplicationContext().getAssets(); 
       try { 
        items.addAll(Arrays.asList(assetManager.list(""))); 
       } catch (IOException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 

這使我的資產文件夾中的所有文件名的ArrayList。 但是我需要對此進行過濾,以便arraylist僅包含具有.txt擴展名的文件的文件名,然後從每個項目名稱中刪除.txt。

所以,當前的代碼會導致:

test.txt 
pi.txt 
sounds 
hippo.png 
square.xml 
seven.txt 

但是當我需要爲ArrayList的內容將是:

test 
pi 
seven 

回答

8

所以,你需要做的

ArrayList<String> items = new ArrayList<String>(); 
AssetManager assetManager = getApplicationContext().getAssets(); 
for (String file : assetManager.list("")) { 
    if (file.endsWith(".txt")) 
     items.add(file); 
} 

如果您想從文件名中刪除.txt擴展名,您可以執行

... 
    items.add(file.replaceAll(".txt$", "")); 
... 
相關問題