The documentation for File.listFiles()
建议只有在调用它的文件不是目录的情况下才会返回 null
。
我有以下几点:
String dir = "/storage/emulated/0";
File f = new File(dir);
Log.v("Files",f.exists()+"");
Log.v("Files",f.isDirectory()+"");
Log.v("Files",f.listFiles()+"");
日志如下:
true
true
null
出于某种原因,即使 File
被识别为有效目录,listFiles(
) 仍会返回 null
。我对 Android 文件层次结构的行为不是很熟悉,所以我猜问题出在那儿。
作为引用,我在我的 Moto X 上进行调试,无论手机是否插入我的电脑,结果都是一样的 - 所以我认为这与插入时的安装无关。
最佳答案
对于有此问题的人,将其添加到 AndroidManifest.xml:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
问题解决了:D
编辑:如果这不起作用,请确保路径是否正确
关于java - 文件存在且是目录,但 listFiles() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20714058/