Android文件管理按类型查找,Android使用MediaStore获取手机上的视频文件大小
时间: 2024-01-10 15:05:54 浏览: 162
要按类型查找文件,你可以使用Android提供的File类和FileFilter接口。首先,使用File类获取指定目录下的所有文件,然后使用FileFilter接口来过滤出指定类型的文件。
下面是一个示例代码:
```java
File folder = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Movies/");
File[] files = folder.listFiles(new FileFilter() {
@Override
public boolean accept(File file) {
return file.isFile() && file.getName().endsWith(".mp4");
}
});
```
这段代码会获取存储在 `/Movies/` 目录下的所有 `.mp4` 格式的文件。
要获取手机上的视频文件大小,可以使用Android提供的MediaStore类。MediaStore是Android提供的媒体库,可以访问手机上的音频、视频和图片等媒体文件。
下面是一个示例代码:
```java
String[] projection = { MediaStore.Video.Media.SIZE };
Uri uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
String selection = MediaStore.Video.Media.DATA + " like ?";
String[] selectionArgs = new String[] { "%" + folder.getAbsolutePath() + "%" };
Cursor cursor = getContentResolver().query(uri, projection, selection, selectionArgs, null);
long totalSize = 0;
if (cursor != null) {
while (cursor.moveToNext()) {
totalSize += cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.SIZE));
}
cursor.close();
}
```
这段代码会获取存储在指定目录下的所有视频文件的大小总和。需要注意的是,需要添加读取媒体文件的权限。可以在AndroidManifest.xml文件中添加以下代码:
```xml
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
```
希望能帮到你!
阅读全文