![](/img/trans.png)
[英]How to extract zip archive with subdirectories using SAF / DocumentFile?
[英]How to rewrite DocumentFile
我想让用户选择文件夹,我的应用程序将在此文件夹中创建一个文件。 所以我用Intent.ACTION_OPEN_DOCUMENT_TREE
。 Google说我需要使用DocumentFile而不是File。 以前我使用File并想得到与下面的代码结果类似的结果
FileOutputStream fs = new FileOutputStream(mFile);
Writer writer = new BufferedWriter(new OutputStreamWriter(fs));
writer.append(mContent);
但是DocumentFile不是文件,我不能使用FileOutputStream。 所以我用OutputStream编写了这段代码
Uri treeUri = data.getData();
DocumentFile pickedDir = DocumentFile.fromTreeUri(MainActivity.this, treeUri);
DocumentFile mFile = pickedDir.createFile("text/plain", "Note");
OutputStream out = getContentResolver().openOutputStream(mFile.getUri());
out.write(infos.get(i).getContent().getBytes());
out.flush();
out.close();
这段代码不会重写我的文件,但是会创建另一个名称为Note(1)的文件,所以我想知道是否有一种方法可以使用OutputStream重写文件,或者是否有另一种方法可以使用FileOutputStream,但是我没有得到如何使用它与DocumentFile。
先感谢您。
Uri treeUri = data.getData();
DocumentFile pickedDir = DocumentFile.fromTreeUri(MainActivity.this, treeUri);
DocumentFile documentFile = pickedDir.findFile("Note");
if (documentFile == null)
documentFile = pickedDir.createFile("text/plain", "Note");
OutputStream out = getContentResolver().openOutputStream(documentFile.getUri());
out.write(infos.get(i).getContent().getBytes());
out.flush();
out.close();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.