java - 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
很重要。我应该写什么?
解决方案
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 或根本不传递第二个参数,它不会追加
推荐阅读
- reactjs - 如何在 React 中有 2 个同步的嵌套循环?
- java - 发送请求时未加载 JSON 数据
- linux - Kali Linux 中缺少左侧浮动坞站,并且 Tweak 无法正常工作
- c# - 如何使用字符串而不是int?在 C# 中
- python - 如何对经度和纬度进行分箱并绘制分箱的密度?
- java - 将子实体添加到现有的父 hibernate onetomany
- javascript - 如何在 html/css 中使内联 svg 可点击以在 javascript 中使用 onclick?
- visual-studio-code - 如何在没有 git 的情况下恢复文件的先前版本?
- java - 将压缩的 ascii 转换为 ascii 并返回
- angular - Angular 2 - __generator 未定义