BufferedWriter未写入文件

我正在用Java编写程序,以读取Linux机器上的CPU温度,并每4秒将结果输出到一个文件中。临时会在该时间间隔成功返回到控制台,但不会出现在文件中,也不会引发任何错误。这也是我第一次使用public class Casino { public static void main(String[] args) { Deck<? extends Card> deck = new PokerDeck(); for (Card card : deck.getcards()) { System.out.println(card); } } } ,因此如果使用不当,我深表歉意。

BufferedWriter
xiaojiissb 回答:BufferedWriter未写入文件

您的作者 正在将每一行写入文件。

但是,由于您在每行之前重新打开并截断了文件,并且/usr/bin/sensors输出以空白行结尾,因此文件将仅在末尾包含最后一个空白行。

最简单的方法是告诉FileWriter追加而不是截断:

BufferedWriter wr = new BufferedWriter(new FileWriter(file,true));

如果您希望文件包含命令的所有输出,但前提是该文件与上次运行不同,则显然您不能逐行进行此确定。取而代之的是,您必须将所有行读入一个字符串,并将其与上一次运行进行比较。

本文链接:https://www.f2er.com/2656305.html

大家都在问