I am trying to retrieve all DocumentFile[]
using listFiles()
method.But getting a null pointer exception how to eliminate this error and still get the files.
This is the code which searches sd card root directory which is being passed as documentfile
in method parameter.
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;
}