I noticed that if I don't call myBufferedWriter.close()
, my content will not appear in the target file. What if the program ends accidentally before reaching myBufferedWriter.close()
? How to avoid losing data that are already in the buffer but not written to the file yet?
Edit: I have found the simple use case of try-with-resources, but my code is like the following
public class myClass{
Map<String, BufferedWriter> writerMap = new HashMap<>();
public void write(···){
//call this.create() here
···
//normally, the writer will close here
}
public void create(···){
//BufferedWriter is created here, and saved into writerMap
···
}
}
Where is the best place to use the try-with-resources statement?