我有一个第三方库,它接受一个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构造函数。
我可以将文档转换为可以替换原始文件的可写文件吗?或者有更简单的解决方案吗?
答案 0 :(得分:2)
现在获得SD卡的许可后,使用...并选择SD卡root。
用户无需选择任何特定文档。文档可能位于可移动存储设备,外部存储设备,Google云端硬盘,Dropbox或文件服务器或用户可以访问的任何其他位置。
现在我需要将此文件的路径/文件对象传递给第三方库类。
该文档没有“路径/文件对象”。
这里MP3File类接受文件路径
或者:
找到一个更好的库,一个接受InputStream
和/或OutputStream
的库,这样您就可以使用它所在的文档,或者
使用Java I / O将文档内容复制到您控制的本地文件,然后将该文件传递给库