首页 > 解决方案 > 在写入新内容之前清除文件(Java、Android)

问题描述

我正在使用以下代码创建一个新文件(二进制或 JSON)或重写 Android 中的现有文件:

ParcelFileDescriptor pfd = this.getContentResolver().openFileDescriptor(uri, "w");
FileOutputStream fileOutputStream = new FileOutputStream(pfd.getFileDescriptor());
fileOutputStream.write(bytes);
fileOutputStream.close();
pfd.close();

问题是当文件已经存在并且其内容大小较大时,旧内容仍然存在。例如 JSON 看起来像

[
    "a",
    "b"
]   "c",
    "d"
]

如何在写入文件之前清理文件,或清除剩余内容?

标签: javaandroid

解决方案


在写入之前尝试使用"wt"而不是w, 来截断文件 ( )。t


推荐阅读