我最近几天使用java开发文件管理的app,使用java的File类型的listFiles接口获取到的内部存储的文件列表,只能获取到文件夹,不能获取到文件
File externalStorage = Environment.getExternalStorageDirectory();
String path = externalStorage.getAbsolutePath();
File[] files = new File(path).listFiles();
for (File file : files) {
Log.i("filename ",file.getName());
}
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
这个你需要递归
public void listFiles(File dir) {
File[] files = dir.listFiles();
for (File file : files) {
if (file.isDirectory()) {
listFiles(file); //递归遍历子文件夹
} else {
Log.i("filename ", file.getName());
}
}
}
主程序
File externalStorage = Environment.getExternalStorageDirectory();
String path = externalStorage.getAbsolutePath();
File dir = new File(path);
listFiles(dir);