我想将一些数据写入.txt文件。
public void writeToFile(String filename) {
try {
//Construct the BufferedWriter object
bufferedWriter = new BufferedWriter(new FileWriter(filename));
//Start writing to the output stream
bufferedWriter.write("first value : " + firstValue);
bufferedWriter.newLine();
} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
} finally {
//Close the BufferedWriter
try {
if (bufferedWriter != null) {
bufferedWriter.flush();
bufferedWriter.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
我使用这个代码,但问题是,它不断地覆盖第一行(我认为)。 有谁知道如何解决这个问题? 我从串口读取了50ms的值,并且不想写这个。 (每个值在一个单独的行上)
它应该写入值,直到我关闭程序。
最好的问候
答案 0 :(得分:1)
尝试更改行:
bufferedWriter = new BufferedWriter(new FileWriter(filename));
要:
bufferedWriter = new BufferedWriter(new FileWriter(filename, true));
我将在Append模式下打开FileWrite,它会在文件中添加内容,而不会覆盖它。
答案 1 :(得分:1)
像这样打开作家:
bufferedWriter = new BufferedWriter(new FileWriter(filename, true));
那应该打开要追加的文件。请参阅javadoc。