带有append参数的Android SAF openOutPutStream

时间:2017-01-23 13:32:31

标签: android file storage-access-framework

使用经典的FileSystem API,我们可以获得带有append参数的输出流,以写入文件的末尾。

以下是我用来访问文件的代码:

经典文件系统API:

boolean append = true;
File target = new File(...);
OutputStream outStream = new FileOutputStream(target, append);

SAF API:

boolean append = true;
File target = new File(...);
DocumentFile targetDocument = getDocumentFile(target, false, context);
OutputStream outStream = context.getContentResolver().openOutputStream(targetDocument.getUri());

但我在SAF API中没有append参数。

我们如何使用SAF API附加到文件?

1 个答案:

答案 0 :(得分:1)

使用此method。查看mode的文档,您可以将"wa"作为附加到任意文件的模式传递。

然而"wa"是一种复杂模式,如documentation中所示,它需要文件可供查找,但ParcelFileDescriptor只有在从File对象获取时才可搜索,所以不能直到Android O只有本地存储支持的提供商才能支持它。

引用openFile()openAssetFile()的原因是DocumentsProvider的源代码,它们都委托给openDocument(),因此这两个文档都适用。