Android: 在API 29中从现有的URI中覆盖文件
创始人
2024-10-06 01:29:53
0

在Android API 29中,您可以使用ContentResolverDocumentFile类来覆盖现有的文件。以下是一个代码示例:

// 获取要覆盖的文件的URI
Uri fileUri = ...;

// 获取文件的DocumentFile对象
DocumentFile documentFile = DocumentFile.fromSingleUri(context, fileUri);

// 获取文件的父目录的DocumentFile对象
DocumentFile parentDocumentFile = documentFile.getParentFile();

// 创建要覆盖的文件的新DocumentFile对象
String newFileName = "new_file_name.txt";
DocumentFile newDocumentFile = parentDocumentFile.createFile(null, newFileName);

// 打开新文件的输出流
OutputStream outputStream = context.getContentResolver().openOutputStream(newDocumentFile.getUri());

// 将新文件的内容写入输出流,这里假设您有一个输入流来读取文件的内容
InputStream inputStream = ...;
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
    outputStream.write(buffer, 0, bytesRead);
}

// 关闭输入输出流
inputStream.close();
outputStream.close();

// 删除原始文件
documentFile.delete();

上述代码中,我们首先使用DocumentFile.fromSingleUri()方法获取要覆盖的文件的DocumentFile对象。然后,我们使用getParentFile()方法获取文件的父目录的DocumentFile对象。

接下来,我们使用createFile()方法在父目录中创建一个新的文件,并传递null作为MIME类型来覆盖现有文件。

然后,我们打开新文件的输出流,并使用输入流从原始文件中读取内容,并将其写入输出流中。

最后,我们关闭输入输出流,并使用delete()方法删除原始文件。

请注意,您需要根据自己的需求修改代码中的部分,例如替换fileUrinewFileName变量。

相关内容

热门资讯

2026版辅助挂!牵手游戏ap... 2026版辅助挂!牵手游戏app辅助器,心悦踢辅助软件-其实真的是有辅助神器(哔哩哔哩)1、完成牵手...
反观!金州水鱼脚本,永盛联盟辅... 反观!金州水鱼脚本,永盛联盟辅助脚本-其实真的是有辅助插件(哔哩哔哩)1、下载好永盛联盟辅助脚本脚本...
方法辅助挂!新漫游免费辅助器,... 方法辅助挂!新漫游免费辅助器,新海贝之城脚本-竟然存在有辅助脚本(哔哩哔哩)在进入新漫游免费辅助器软...
代打辅助挂!微信老铁13水辅助... 代打辅助挂!微信老铁13水辅助,仙神互娱辅助-果然确实有辅助器(哔哩哔哩)1、任何微信老铁13水辅助...
黑科技辅助挂!乐酷副厅外卖辅助... 黑科技辅助挂!乐酷副厅外卖辅助,掌中乐游戏辅助工具-好像真的是有辅助工具(哔哩哔哩)1、下载好掌中乐...
今日!桃乐甘肃麻将辅助器,天天... 今日!桃乐甘肃麻将辅助器,天天福建十三兵修改器-一贯存在有辅助挂(哔哩哔哩)1、任何天天福建十三兵修...
透视免费!新九天作必弊系统,赣... 透视免费!新九天作必弊系统,赣湘互娱辅助-切实是真的有辅助神器(哔哩哔哩)1、玩家可以在新九天作必弊...
截至目前!金虎爷辅助器,新51... 截至目前!金虎爷辅助器,新518互游插件下载-真是是真的有辅助神器(哔哩哔哩)1、下载好新518互游...
截至发稿!蜀山四川辅助脚本,福... 截至发稿!蜀山四川辅助脚本,福建天天开心辅助工具下载-真是真的是有辅助app(哔哩哔哩)1、上手简单...
随着!杭州都莱大菠萝买了挂有用... 随着!杭州都莱大菠萝买了挂有用吗,小唐家乐园辅助-真是是有辅助软件(哔哩哔哩)1、游戏颠覆性的策略玩...