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

zol*_*ish 5 java android

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

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

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


如何像我一样打开 FileOutputStream,并且不使其处于追加模式?

注意:我被迫使用 FileDescriptor。

The*_*Roy 0

如果您使用 FileOutoutStream,那么该构造函数会提供一个选项,供您指定是否要打开要追加的文件。设置为 false 就可以了。

    OutputStream out = null;
    try {
        out = new FileOutputStream("OutFile", false);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)