java - 文件存在且是目录,但 listFiles() 返回 null

标签 java android file io file-permissions

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/

相关文章:

java - LinearLayout 从右到左填充

php - 如何使用 php 从 Web 服务获取文件并将它们保存在我们的磁盘上?

java - 使用FFMPEG时使用 '-acodec'选项时编解码器参数不正确

java - XML Pull 解析器异常 - kSOAP2

java - IntelliJ Idea 不在 R.java 中生成 id

android - 触摸移动和调整布局

file - Rust:如何从文件中读取十六进制

c - 使用什么类型的分隔符?

java.text.ParseException : Unparseable date: "20050327020000" 异常

java - 在运行其方法之前用 `String` 包装 `new String (...)` 有什么好处吗?