我想将数据写入文本文件。但是,在我的应用程序中,我希望继续将项目写入文本文件(这意味着,我要写入的文本应该附加到文件中 - 而不是每次都创建一个新文件)
我的代码如下;但是下次我在文件中写入内容时如何附加文本?
1.)下面代码的问题是,第一次写入文件,但是当我第二次尝试写入时,出现以下异常;
java.io.IOException: Stream closed
2.) 我希望能够写入同一个文件,直到应用程序关闭。因此,当应用程序关闭时如何关闭 Stream ?
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class WriteToFileExample {
public void writeToFile(String stuff) {
try {
File file = new File("../somefile.txt");
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile(),true);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(stuff);
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
更新 1
private File file;
public WriteToFileExample(){
file = new File("../somefile.txt");
}
public void writeToFile(String stuff) {
try {
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(stuff);
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
例外
Exception in thread "main" java.lang.NullPointerException
at com.proj.example.Log.WriteToFile(WriteToFileExample.java:3)
这指向if (!file.exists()) {
.