1. 程式人生 > >android根據uri或檔案絕對路徑獲取檔案基本資訊

android根據uri或檔案絕對路徑獲取檔案基本資訊

//有需求,於是研究一下

在檔案讀取操作中,很容易能從回撥intent傳遞的資料中獲取檔案uri,從而通過uri獲取檔案絕對路徑,

Uri uri = intent.getDataString();

讀取到uri後,如果檔案為圖片,則可通過

String[] proj = { MediaColumns.DATA };

// 好像是android多媒體資料庫的封裝介面,具體的看Android文件

Cursor cursor = managedQuery(originalUri, proj, null, null, null);

// 按我個人理解 這個是獲得使用者選擇的圖片的索引值

int column_index = cursor.getColumnIndexOrThrow(MediaColumns.DATA

);

// 將游標移至開頭 ,這個很重要,不小心很容易引起越界

cursor.moveToFirst();

// 最後根據索引值獲取圖片路徑

String path = cursor.getString(column_index);

如若uri為檔案,可通過

String path = uri.substring(7);(檔案起頭為:file:///)

獲取。

繼而可通過

//獲取檔名

String name = path.substring(path.lastIndexOf("/") + 1,path.length());

//獲取檔案大小

File f = new File(path.substring(7));

long size = f.length();

來獲取檔案基本資訊

//學習所得,記錄一下,有所錯漏,以後再改