前言

简单记录一下FileProvider分享的Uri转出文件。

流水账而已,可以跳过。

正文

之前我们使用FileProvider分享的Uri格式如下:

content://com.biumall.file2.fileProvider/root/storage/udisk2/m4a/%E5%87%89%E5%87%89m4a.m4a

直接上代码

Uri uri = intent.getData()
if (null != uri) {
    String path = uri.getPath();
    String name = getPathName(path);
    try {
        @SuppressLint("Recycle")
        InputStream inputStream = getContentResolver().openInputStream(uri);
        byte[] buffer = new byte[inputStream.available()];
        inputStream.read(buffer);
        File targetFile = new File(getFilesDir().getPath() + "/" + name);
        OutputStream outStream = new FileOutputStream(targetFile);
        outStream.write(buffer);
        outStream.flush();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

获取文件名getPathName()

/**
* 获取文件名
**/
public String getPathName(String path) {
    String name = null;
    try {
        if (!TextUtils.isEmpty(path)) {
            int iStart = path.lastIndexOf('/');
            if (iStart != 0 && iStart < path.length()) {
                iStart++;
            }
            name = path.substring(iStart);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return name;
}

参考文章

相关文章

暂无评论

none
暂无评论...