Java 断电期间,信息不会保存到文件中

Java 断电期间,信息不会保存到文件中,java,android,io,bufferedreader,android-file,Java,Android,Io,Bufferedreader,Android File,有两种方法,一种用于将行写入文件,另一种用于读取 public void onSaveButtonClick(View view) { String text = binding.etSave.getText().toString(); if (text.isEmpty()) { Toast.makeText(this, R.string.empty_text_error, Toast.LENGTH_SHORT).show(); return; } File file = ne

有两种方法,一种用于将行写入文件,另一种用于读取

public void onSaveButtonClick(View view) {
String text = binding.etSave.getText().toString();
if (text.isEmpty()) {
    Toast.makeText(this, R.string.empty_text_error, Toast.LENGTH_SHORT).show();
    return;
}

File file = new File(getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), FILE_NAME);      
try (BufferedWriter writer = new BufferedWriter(new FileWriter(file))) {
    writer.write(text);
    Log.d("logtest write", text);
} catch (IOException e) {
    e.printStackTrace();
}
}

public void onReadButtonClick(View view) {
File file = new File(getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), FILE_NAME);      
try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
    String text = reader.readLine();
    Log.d("logtest read", text);
    binding.etLoad.setText(text);
} catch (IOException e) {
    e.printStackTrace();
}

}
我正在做一个实验,将新数据写入一个文件,从文件中减去,然后查看新数据。我关闭电池,重新连接,启动设备和软件,读取数据-数据是旧的。未保存任何新数据


据我所知,在第一次读取时,由于紧急断电,操作系统没有时间实际记录缓存数据。我说得对不对?我该如何解决这个问题呢?

您是否尝试过在
writer.write(…)
调用之后添加
writer.flush()
?是的,它没有帮助
writer.close()
reader.close()。请与资源一起使用