2014-02-08 52 views
0

我试图从移动(包括外部SD卡和手机存储(内部移动存储))获取所有文件。如何从外部SD卡和手机存储(内部使用移动存储器)获取所有文件?

我使用此代码尝试Environment.getExternalStorageDirectory()。但从这我只能得到SD卡文件不是手机存储。

请帮助我如何获得内存位置路径或文件。

+0

你可以从文件系统的根目录开始'/',但除非你做,因为你根本不会有权限读取的所有文件。 – Henry

回答

0

此代码将提供内部文件。

String[] SavedFiles; 
    ArrayList<String> arrList; 
    SavedFiles = getApplicationContext().fileList(); 


    arrList = new ArrayList<String>(); 
    if(SavedFiles != null) 
      { 
       for(int i=0; i<SavedFiles.length; i++) 
       { 
        arrList.add(SavedFiles[i]); 
       } 


      } 
+0

它没有给任何东西 –

1
File file[] = Environment.getExternalStorageDirectory().listFiles(); 
    recursiveFileFind(file); 

public void recursiveFileFind(File[] file1){ 
int i = 0; 
String filePath=""; 
    if(file1!=null){ 
    while(i!=file1.length){ 
     filePath = file1[i].getAbsolutePath(); 
      if(file1[i].isDirectory()){ 
        File file[] = file1[i].listFiles(); 
      recursiveFileFind(file); 
      } 
     i++; 
     //Log.d(i+"", filePath); 
    } 
    } 
} 

如果这不是在下面的代码工作,然后ü可以给外部路径和

得到的所有文件。

private void getAllFilesOfDir(File directory) { 
    Log.d(TAG, "Directory: " + directory.getAbsolutePath() + "\n"); 

    final File[] files = directory.listFiles(); 

    if (files != null) { 
     for (File file : files) { 
      if (file != null) { 
       if (file.isDirectory()) { // it is a folder... 
        getAllFilesOfDir(file); 
       } 
       else { // it is a file... 
        Log.d(TAG, "File: " + file.getAbsolutePath() + "\n"); 
       } 
      } 
     } 
    } 
} 
+0

我知道这种方法,并从这种方法我已经采取了所有文件,但当移动存在sdcard然后Environment.getExternalStorageDirectory()给出sdcard绝对路径,但现在我也想从手机存储中获取所有文件也。我如何获得手机存储路径? –

+0

好吧,现在你检查这个。 – SuN

+0

File sdCardDirectory = Environment.getExternalStorageDirectory(); – SuN

相关问题