Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Java-从SD卡读取目录_Java_Android_Directory_Storage_External - Fatal编程技术网

Android Java-从SD卡读取目录

Android Java-从SD卡读取目录,java,android,directory,storage,external,Java,Android,Directory,Storage,External,这几天来我一直被难住了。当我点击一个按钮时,我正试图读取SD卡中的文件夹 当我运行代码时,logcat会给我:D/EH:Directory:/storage/emulated/0,但我很确定那是我的内部内存。即使如此,它也没有列出我猜测的内部目录中的任何文件夹或文件。我将放弃寻找我的sd位置,只是暂时硬编码它。如果我这样做,我将如何找到我的外部位置 public void onClickBtn(View v) { final String state = Environment.getE

这几天来我一直被难住了。当我点击一个按钮时,我正试图读取SD卡中的文件夹

当我运行代码时,logcat会给我:D/EH:Directory:/storage/emulated/0,但我很确定那是我的内部内存。即使如此,它也没有列出我猜测的内部目录中的任何文件夹或文件。我将放弃寻找我的sd位置,只是暂时硬编码它。如果我这样做,我将如何找到我的外部位置

public void onClickBtn(View v) {
    final String state = Environment.getExternalStorageState();

    if ( Environment.MEDIA_MOUNTED.equals(state) || Environment.MEDIA_MOUNTED_READ_ONLY.equals(state) ) {  // we can read the External Storage...
        getAllFilesOfDir(Environment.getExternalStorageDirectory());
    }
}

private void getAllFilesOfDir(File directory) {
    Log.d("EH", "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("EH", "File: " + file.getAbsolutePath() + "\n");
                }
            }
        }
    }
}
谢谢你的帮助

我想你的答案是: