我想要检查一个只有URI的文件大小,URI为content://media/external/video/media/813
。
我使用以下代码来获取文件大小:
File file=new File(uri.getPath());
long ls = file.length();
并且总是会得到0。有任何想法吗?
Cursor returnCursor =
getContentResolver().query(uri, null, null, null, null);
int sizeIndex = returnCursor.getColumnIndex(OpenableColumns.SIZE);
returnCursor.moveToFirst();
int size = (int) returnCursor.getLong(sizeIndex);
int sizeKB = size / 1024; int sizeMb = size / (1024 * 1024)
。 - Nima Faraji尝试这个:
String[] filePathColumn = {MediaStore.Images.Media.DATA};
Cursor cursor = context.getContentResolver().query(uri, filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String filePath = cursor.getString(columnIndex);
cursor.close();
File file = new File(filePath);
long ls = file.length();
URI
,我觉得它不是一个目录。 - shinilms