首页 > 解决方案 > Android Studio - FileOutputStream 清除文件上下文

问题描述

我打开了一个文件,每次我想写它时,它都会保存我上次写的内容。如何删除文件的所有内容?

我的代码:

        String fileName = "MyFile";
        String content = "Hello from file";

        FileOutputStream outputStream = null;
        try {
            outputStream = openFileOutput(fileName, Context.MODE_APPEND);
            outputStream.write(content.getBytes());
            outputStream.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

我知道这Context.MODE_APPEND很重要。我应该写什么?

标签: javaandroid-studiofilefileoutputstream

解决方案


String fileName = "MyFile.txt";
String content = "Hello from file";

try {
    OutputStream out = new FileOutputStream(fileName, false);
    out.write(content.getBytes());
    out.close();
} catch (IOException e) {
    e.printStackTrace();
}

只需像这样创建您的 FileOutputStream

每次您打开一个新的 FileOutputStream 时,它都会重新开始。旧数据将被覆盖/消失

FileOutputStream 构造函数的第二个参数是它是否应该追加。通过将其设置为 false 或根本不传递第二个参数,它不会追加


推荐阅读