在 Android 随机访问写入 SAF 文件
Random access write to SAF file on Android
我正在尝试对从 Android 存储访问框架检索到的流执行“随机访问”写入。
在我的场景中,我使用 OPEN_DOCUMENT
intent 选择了一个文件,它为我提供了一个文档 URI。然后我就可以用ContentResolver
到openOutputStream
了。不过,从那时起,我看不到一种在流中“寻找”以写入文件中给定位置的方法。
有没有办法实现这个(至少对于本地 storage/SD 基于卡片的文件)?
at least for local storage/SD card-based files
你不知道这就是你得到的。用户可以选择用户想要的任何文档提供者(例如,Google Drive)。
I don't see a way to "seek" within the stream to write on a given position within the file
部分原因是 Java 流很烂。但是,主要是为了文档提供者的灵活性。假设用户选择了一个在本地存储其内容但使用流密码加密的提供商。然后你不能随便跳到某个地方——数据必须在途中被解密。
AFAIK,您唯一的选择是将内容复制到您控制的某个文件,之后您可以随机访问该文件。
我正在尝试对从 Android 存储访问框架检索到的流执行“随机访问”写入。
在我的场景中,我使用 OPEN_DOCUMENT
intent 选择了一个文件,它为我提供了一个文档 URI。然后我就可以用ContentResolver
到openOutputStream
了。不过,从那时起,我看不到一种在流中“寻找”以写入文件中给定位置的方法。
有没有办法实现这个(至少对于本地 storage/SD 基于卡片的文件)?
at least for local storage/SD card-based files
你不知道这就是你得到的。用户可以选择用户想要的任何文档提供者(例如,Google Drive)。
I don't see a way to "seek" within the stream to write on a given position within the file
部分原因是 Java 流很烂。但是,主要是为了文档提供者的灵活性。假设用户选择了一个在本地存储其内容但使用流密码加密的提供商。然后你不能随便跳到某个地方——数据必须在途中被解密。
AFAIK,您唯一的选择是将内容复制到您控制的某个文件,之后您可以随机访问该文件。