如何从外部SD卡和手机存储(内置移动存储器)获取所有文件?

时间:2014-02-08 09:40:46

标签: android android-sdcard

我尝试从移动设备获取所有文件(外部SD卡和手机存储设备(内置移动内存))。

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

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

2 个答案:

答案 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");
                }
            }
        }
    }
}

答案 1 :(得分: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]);
              }


          }