1. 程式人生 > >Android Uri獲取真實路徑以及檔名的方法

Android Uri獲取真實路徑以及檔名的方法

在Android 程式設計中經常會用到uri轉化為檔案路徑
下面是4.4後通過Uri獲取路徑以及檔名一種方法

 public static String getRealFilePath( final Context context, final Uri uri ) {
        if ( null == uri ) return null;
        final String scheme = uri.getScheme();
        String data = null;
        if ( scheme == null )
            data = uri.getPath();
        else
if ( ContentResolver.SCHEME_FILE.equals( scheme ) ) { data = uri.getPath(); } else if ( ContentResolver.SCHEME_CONTENT.equals( scheme ) ) { Cursor cursor = context.getContentResolver().query( uri, new String[] { MediaStore.Images.ImageColumns.DATA }, null, null, null
); if ( null != cursor ) { if ( cursor.moveToFirst() ) { int index = cursor.getColumnIndex( MediaStore.Images.ImageColumns.DATA ); if ( index > -1 ) { data = cursor.getString( index ); } } cursor.close(); } } return
data; }

等到的路徑 /storage/emulated/0/圖片/浪費-林宥嘉.mp3

怎麼獲取檔名呢?

 String path="/storage/emulated/0/圖片/浪費-林宥嘉.mp3";
                String b = path.substring(path.lastIndexOf("/") + 1, path.length());

通過索引最後一個/就可以在String中截取了