gpt4 book ai didi

java - Android File.listFiles() 返回 null

转载 作者:行者123 更新时间:2023-11-29 23:19:21 29 4
gpt4 key购买 nike

我正在尝试通过我的 apk 访问我的 android 文件并(最初)在我的终端上列出它们。这是我使用的代码:

File basePath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)getAbsolutePath();
File directory = new File(basePath);
System.out.println("" + directory.toString());
File[] directoryContents = directory.listFiles();

我确实成功打印了这条路径:/storage/emulated/0/Download它实际上存在于我的 android 中并且其中有一些文件。

当列出该目录中的文件时使用:

for (File file : directoryContents)
{
if (file.isFile())
System.out.println("" + file.getName());
else
continue;
}

我得到 java.lang.NullPointerException: Attempt to get length of null array

我还包括了 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>在 android 的 list 中。

如果有任何帮助,我的智能手机运行的是 Android 7.0。

最佳答案

listFiles如果从中调用此方法的 File 实例是一个目录,则返回一个数组。 Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) 总是(我猜)返回一个目录(除非你改变了操作系统默认值)。所以唯一出错的地方可能是缺少权限;

here is how to ask permissions properly

关于java - Android File.listFiles() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54678505/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com