我在Lollipop有一个情况:
DocumentFile
)。 需要修改从媒体提供商处检索的音频文件集合。
Uri mediaUri = Uri.withAppendedPath(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
"45");
然后,如何将流写入其中一个文件?
我认为,https://stackoverflow.com/a/30514269/615025提供了解决方法。将文件的字节复制到缓存目录,对临时文件进行修改,然后将字节复制回原始文件。
DocumentFile是一种新机制,允许我们修改Lollipop中的文件。与此帖how to get contact photo URI不同的情况 感谢
答案 0 :(得分:2)
您可以使用ContentResolver.openOutputStream(Uri)
直接从Uri打开outputStream
例如,
OutputStream fos;
fos = new BufferedOutputStream(context.getContentResolver().openOutputStream(uri));
可选地,openOutputStream
使用字符串来指定模式。
即
openOutputStream(uri, "w");
写或
openOutputStream(uri, "wa");
追加。