我在根目录中有一个文件夹,其中包含一些我想列出的文件,但是数组返回null:
String path = getenv("EXTERNAL_STORAGE") + "/Files";
File directory = new File(path);
File[] files = directory.listFiles();
已授予权限
答案 0 :(得分:0)
首先,您需要使用Environment.getExternalStorageDirectory()
而不是getenv()
:
String path = Environment.getExternalStorageDirectory().toString() + "/Files";
File directory = new File(path);
File[] files = directory.listFiles();
for (int i = 0; i < files.length; i++)
Log.d("Files", "FileName:" + files[i].getName());
但是非常重要的一点是/storage/emulated/0
文件夹确实不存在。这就是所谓的“符号链接”,或更简单地说,是对实际数据存储位置的引用。这就是为什么您的数组返回null的原因。您需要在设备上找到存储它的实际物理位置。