2015-07-20 44 views
0

我想要獲取目錄中的文件列表,如下所示。Android中的存儲列表文件

private static FileInfo[] enumerateFiles(String fullPath) { 
    FileInfo[] files = null; 
    File file = new File(fullPath); 
    if (file.exists() && file.isDirectory()) { 
     File[] fileList = file.listFiles(); 

     if (fileList != null) { 
      ArrayList<FileInfo> fileInfos = new ArrayList<FileInfo>(); 
      for (File f : fileList) { 
       FileInfo info = createFileInfoFromFile(f); 
       if (info != null) { 
        fileInfos.add(info); 
       } 
      } 
      files = fileInfos.toArray(new FileInfo[fileInfos.size()]); 
     } 
    } 
    return files; 

的fileList總是空。

我已經在清單中定義了以下權限。

<manifest 
package="com.my.app" 
xmlns:android="http://schemas.android.com/apk/res/android"> 

<uses-permission android:name="ANDROID.PERMISSION.WRITE_EXTERNAL_STORAGE"/> 
<uses-permission android:name="ANDROID.PERMISSION.READ_EXTERNAL_STORAGE"/> 

<application 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:largeHeap="true" 
    android:theme="@style/AppTheme"> 
    <activity 
     android:name=".fileexplorer.activities.ExplorerActivity" 
     android:configChanges="orientation|keyboardHidden|screenSize" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 

      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity> 
</application> 

</manifest> 

我無法弄清楚這個問題。我正在使用API​​ 22構建Android工作室。

回答

2

Android區分大小寫。請更換:

<uses-permission android:name="ANDROID.PERMISSION.WRITE_EXTERNAL_STORAGE"/> 
<uses-permission android:name="ANDROID.PERMISSION.READ_EXTERNAL_STORAGE"/> 

有:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

(如果你持有WRITE_EXTERNAL_STORAGE,你不需要READ_EXTERNAL_STORAGE

如果不解決您的問題,請發表您的代碼,你在哪裏調用enumerateFiles(),並確保無論您傳遞給enumerateFiles()指向一個包含內容(文件或子目錄)的目錄。

+0

謝謝..它的工作:) – VinayChoudhary99

+0

只需添加,這樣可以幫助別人。我使用自動完成功能從Android Studio添加了權限。它在CAPS中添加了權限,因此導致該問題。 – VinayChoudhary99

相關問題