2012-10-03 113 views
0

我試過here,但它沒有幫助。Android:isDirectory()總是返回true

我的文件名過濾器來獲得目錄和唯一的.txt文件:

FilenameFilter filter = new FilenameFilter() 
{ 
    public boolean accept(File dir, String name) 
    { 
     if (dir.isDirectory()) 
     { 
      return true; 
     } 
     else 
     { 
      return dir.getName().endsWith(".txt"); 
     } 
    } 
}; 

我也試過dir.isFile()

過濾器適用於文件和目錄的列表:

HOMEDIR的
  CurDir = homeDir; 
      dir = new File(homeDir); 
      values = dir.list(filter); 
      if (values == null) 
      { 
       Toast.makeText(this, "No Files/Folders", Toast.LENGTH_LONG).show(); 
      } 
      else 
      { 
       ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, values); 
       setListAdapter(adapter); 
      } 

值:

homeDir = Environment.getExternalStorageDirectory().toString(); 

它仍然顯示.png和所有其他文件。

回答

2

File dir passed是包含實際文件的目錄,所以它始終是一個目錄。您擁有的完整文件是%dir%/%name%。我相信如果整個文件是一個目錄,名字將會是「/」或者也許是空的。

你也可以通過做new File(dir, name);

+0

創建完整的文件中沒有,因爲當它加載它顯示了SD的根像我想要它。 – Timberwolf

+0

做一些日誌記錄;記錄目錄和名稱,並檢查 –

+0

我該怎麼做? – Timberwolf