棒棒糖SDCard文件写

时间:2016-05-11 17:24:26

标签: android android-5.0-lollipop document android-sdcard

我有一个第三方库,它接受一个File对象并修改它。 在使用

获得SD卡的许可后
 Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);

选择SD卡root。

然后用户浏览他想要修改的文件。现在这个 文件的路径/文件对象我需要传递给第三方库类。

 DocumentFile documentFile = DocumentFile.fromFile(file);
 String documentURI = documentFile.getUri().toString();
 MP3File mp3File = null;

 documentFile = DocumentFile.fromFile(file);
 mp3File = new MP3File(file.getAbsolutePath());

这里MP3File类接受文件路径。但是这个类没有任何Document构造函数。

我可以将文档转换为可以替换原始文件的可写文件吗?或者有更简单的解决方案吗?

1 个答案:

答案 0 :(得分:2)

  

现在获得SD卡的许可后,使用...并选择SD卡root。

用户无需选择任何特定文档。文档可能位于可移动存储设备,外部存储设备,Google云端硬盘,Dropbox或文件服务器或用户可以访问的任何其他位置。

  

现在我需要将此文件的路径/文件对象传递给第三方库类。

该文档没有“路径/文件对象”。

  

这里MP3File类接受文件路径

或者:

  • 找到一个更好的库,一个接受InputStream和/或OutputStream的库,这样您就可以使用它所在的文档,或者

  • 使用Java I / O将文档内容复制到您控制的本地文件,然后将该文件传递给库