2017-05-26 28 views
0

總是0我想檢查文件的大小,我只有URI content://media/external/video/media/813 獲取文件的大小我用:file.length回報android系統

File file=new File(uri.getPath()); 
        long ls = file.length(); 

,並始終得到0。任何想法?

+0

我想這是一個目錄 –

+0

file.length()將返回零,如果文件不存在 –

+0

@AvinashRoy看着'URI',我不認爲它是一個目錄。 –

回答

2

試試這個,下面的代碼

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(); 
2

嘗試讓你的文件的長度

Cursor returnCursor = 
       getContentResolver().query(uri, null, null, null, null); 
     int sizeIndex = returnCursor.getColumnIndex(OpenableColumns.SIZE); 
     returnCursor.moveToFirst(); 
     int size = (int) returnCursor.getLong(sizeIndex);