gpt4 book ai didi

java - 覆盖而不是附加数据的 FileOutputStream(FileDescriptor)?

转载 作者:行者123 更新时间:2023-12-05 05:23:54 25 4
gpt4 key购买 nike

我通过 FileOutputStream 写入文件,该文件通过其构造函数采用 FileDescriptor 打开。

我想要的行为:当我写入文件时,我希望它是唯一的内容。例如。写入“Hello”应该导致文件只包含“Hello”。

实际行为:每次我写东西时,它只是简单地附加。例如。在上面的示例中,我将得到“HelloHello”。


我怎样才能像我一样打开一个 FileOutputStream,并且让它不处于追加模式?

注意:我被迫使用 FileDescriptor。

最佳答案

根据ContentProvider.java文件文档,在截断文件时可以使用“rwt”方式读写文件。

ParcelFileDescriptor pfd = context.getContentResolver.openFileDescriptor(uri, "rwt");
FileOutputStream fos = new FileOutputStream(pfd.getFileDescriptor());

@param mode Access mode for the file. May be "r" for read-only access, "rw" for read and write access, or "rwt" for read and write access that truncates any existing file.

尽管问题是很久以前发布的,但希望这对您有所帮助。

关于java - 覆盖而不是附加数据的 FileOutputStream(FileDescriptor)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36649687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com