在Android中的SD卡的公共存储中编写/修改文件?

时间:2017-06-29 17:09:54

标签: android android-external-storage

如何获取存储在SD卡的外部存储(音乐,图片......)中的文件列表,修改文件的内容并覆盖Android 5.0+中的旧文件。

1 个答案:

答案 0 :(得分:1)

你想要的并不是严格意义上的。

你最接近的是:

  • 使用ACTION_OPEN_DOCUMENT_TREE让用户选择文档树。用户可以选择用户想要的任何内容。它不一定是可移动存储 - 可以是外部存储,Google云端硬盘等。

  • 鉴于您从Uri活动中取回ACTION_OPEN_DOCUMENT_TREE,请使用DocumentFile将其打包在fromTreeUri()

  • 从那里开始,使用DocumentFile就像使用File一样,使用listFiles()isDirectory()递归地遍历文档树。

  • 对于您要修改的内容,请使用getUri()上的DocumentFile获取该内容的Uri,在openInputStream()上使用ContentResolver {1}}阅读内容,并使用openOutputStream()上的ContentResolver来写出修改后的内容。