我正在尝试DocumentFile[]
使用方法检索所有内容。listFiles()
但是获取空指针异常如何消除此错误并仍然获取文件。这是搜索作为 documentfile
方法参数传递的 sd 卡根目录的代码。
private List<DocumentFile> getListFiles2(DocumentFile docfile) {
List<DocumentFile> inFiles = new ArrayList<>();
Queue<DocumentFile> files = new LinkedList<>();
// check error arising here
files.addAll(Arrays.asList(docfile.listFiles()));
while (!files.isEmpty()) {
DocumentFile file = files.remove();
if (file.isDirectory()) {
files.addAll(Arrays.asList(file.listFiles()));
} else if (file.getName().endsWith(".bmp")
|| file.getName().endsWith(".gif")
|| file.getName().endsWith(".jpg") || file.getName().endsWith(".jpeg")
|| file.getName().endsWith(".png")
) {
inFiles.add(file);
}
}
return inFiles;
}