Android Uri獲取真實路徑以及文件名的方法【轉】


原文地址:https://blog.csdn.net/MikoGodZd/article/details/50979653

在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中截取了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM