我想知道为什么listFiles()方法返回null?我使用此字符串作为文件路径:/ storage / UsbDriveA。
以下是我目前正在使用的代码:
List<String> filesInFlashDrive = addListOfFiles("/storage/UsbDriveA/");
public ArrayList<String> addListOfFiles(String directoryPath) {
File f = new File(directoryPath);
f.mkdirs();
Log.i("FileBrowserActivity", "File Value:" + f);
Log.i("FileBrowserActivity", "List of files:"+f.listFiles());
File[] file = f.listFiles();
/*File[] file = f.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.toString().endsWith(".pdf") ? true : false;
}
});*/
ArrayList<String> arrayFiles = new ArrayList<String>();
if (file.length == 0)
return null;
else {
for (int i=0; i<file.length; i++)
arrayFiles.add(file[i].getName());
}
return arrayFiles;
}
为什么listFiles()方法返回null?
答案 0 :(得分:3)
首先,您的设备或模拟器可能没有这样的路径。设备很少。
其次,因为它似乎是removable storage,所以在Android 4.4及其设备上没有任意文件系统访问它。