当调用Android的File对象的listFiles()方法时,有时会返回null。这可能是由于以下几个原因导致的:
File file = new File("/sdcard/myfolder");
if(file.exists()) {
File[] files = file.listFiles();
// 处理文件列表
} else {
// 文件不存在
}
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
// SD卡已挂载
File file = new File(Environment.getExternalStorageDirectory(), "myfolder");
File[] files = file.listFiles();
// 处理文件列表
} else {
// SD卡未挂载
}
File file = new File("/sdcard/myfolder");
if(file.isDirectory() && file.canRead()) {
File[] files = file.listFiles();
// 处理文件列表
} else {
// 目录不可读
}
通过检查这些可能的原因,你应该能够解决listFiles()方法返回null的问题。
上一篇:Android File.createTempFile抛出IOException
下一篇:Android File.mkdirs更改为Context.getFilesDir的意思是在Android中更改File.mkdirs方法为Context.getFilesDir方法。