遍历sdcard目录下所有 文件夹
时间: 2023-07-04 15:07:04 浏览: 201
可以使用递归函数来遍历SD卡目录下的所有文件夹。具体实现代码如下:
```java
public void traverseFolder(File file) {
if (file.isDirectory()) {
// 如果是文件夹,获取文件夹下的所有文件和子文件夹
File[] files = file.listFiles();
if (files != null) {
for (File f : files) {
traverseFolder(f);
}
}
} else {
// 如果是文件,输出文件名
System.out.println(file.getName());
}
}
```
在调用函数时,传入SD卡根目录即可:
```java
traverseFolder(Environment.getExternalStorageDirectory());
```
需要注意的是,如果您的应用程序没有获取SD卡读取权限,那么上述代码将无法读取SD卡上的文件夹和文件。因此,在使用之前,需要在 AndroidManifest.xml 文件中添加如下权限:
```xml
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
```
另外,从 Android 10 开始,应用程序需要通过 MediaStore API 或 SAF(Storage Access Framework)来访问外部存储设备。因此,如果您的应用程序目标 API 级别为 29 或更高版本,则需要使用相应的 API 来访问 SD 卡中的文件和文件夹。
阅读全文