2017-01-23 2 views
0

Mit der klassischen FileSystem-API können wir einen Ausgabestream mit einem append-Parameter erhalten, um an das Ende einer Datei zu schreiben.Android SAF openOutPutStream mit Append-Parameter

Hier ist der Code, den ich auf die Dateien zu verwenden Zugang:

Klassische File System 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()); 

Aber ich habe nicht das Anfügen Parameter in der SAF-API.

Wie können wir eine Datei mit der SAF-API anhängen?

Antwort

0

Verwenden Sie diese method. Sehen Sie sich die Dokumentation für mode an. Sie können "wa" als den Modus übergeben, der an eine beliebige Datei angehängt werden soll.

jedoch "wa" ist ein komplexer Modus und wie in den documentation angegeben braucht es die Datei durchsuchbar zu sein, aber ParcelFileDescriptor ist nur durchsuchbar, wenn es von einem File-Objekt erhalten hat, also nicht bis Android O nur von lokalen Speichern gesichert Provider können unterstützen es.

Der Grund sowohl openFile() und openAssetFile() referenziert werden im Quellcode von DocumentsProvider ist sie sowohl Delegierter openDocument() so beide Dokumente anwendbar sind.

Verwandte Themen