使用经典的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附加到文件?
答案 0 :(得分:1)
使用此method。查看mode
的文档,您可以将"wa"
作为附加到任意文件的模式传递。
然而"wa"
是一种复杂模式,如documentation中所示,它需要文件可供查找,但ParcelFileDescriptor只有在从File对象获取时才可搜索,所以不能直到Android O只有本地存储支持的提供商才能支持它。
引用openFile()
和openAssetFile()
的原因是DocumentsProvider的源代码,它们都委托给openDocument()
,因此这两个文档都适用。