2017-01-23 8 views
0

従来のFileSystem APIでは、ファイルの最後に書き込むappendパラメータを持つ出力ストリームを取得できます。ここでappendパラメータ付きのSAF openOutPutStream

私は、ファイルへのアクセスもに使用したコードです:

クラシックファイルシステム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()); 

しかし、私はAPPENDを持っていませんSAF APIのパラメータです。

どのようにSAF APIを使用してファイルに追加できますか?

答えて

0

これはmethodを使用してください。 modeのドキュメントを見て、任意のファイルに追加するモードとして"wa"を渡すことができます。

しかし"wa"は、複雑なモードで、ローカルストレージに裏打ちされたAndroidのOのみプロバイダがサポートできるまでdocumentationに示すように、シーク可能であるファイルが必要ですが、それはFileオブジェクトから取得していますときParcelFileDescriptorだけシーク可能で、そうではありませんそれ。

openFile()openAssetFile()の両方が参照されている理由は、DocumentsProviderのソースコードにあります。両方ともopenDocument()に委任されているため、両方のドキュメントが適用されます。

関連する問題