如何从android中的uri获取文件数据

时间:2013-10-28 07:41:44

标签: android

如何从android中的uri获取文件数据。我们尝试了以下代码但是它给出了filenot found异常。 uri2 = intent.getData();

        uri = uri2.toString();
        File objFile = new File(uri);
        try {
            InputStream data = new FileInputStream(objFile);
            Log.d("data", data+"");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }

请帮忙。 谢谢, AA

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码获取文件路径:

public String getPath(Uri uri) {
        String[] projection = { MediaStore.Images.Media.DATA };
        Cursor cursor = managedQuery(uri, projection, null, null, null);
        int column_index = cursor
                .getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        cursor.moveToFirst();
        return cursor.getString(column_index);
    }

调用上述函数如下:

String myFilePath = getPath(uri);
File objFile = new File(myFilePath);