gpt4 book ai didi

java 添加新行到 txt\log 文件

转载 作者:行者123 更新时间:2023-11-30 02:08:24 25 4
gpt4 key购买 nike

我正在尝试为我的 java 脚本创建一个日志文件,以节省设备启动时的时间。

它正在工作 - 每次启动他都会在文件中节省我的时间但我想每次启动时添加一个新行,现在它会覆盖该文件所以文件总是 1 行(最后一次启动时)

我需要改变什么?

这是我编写的代码:

import java.io.*;
import java.net.*;
import java.util.*;
import java.util.Calendar;
import java.util.concurrent.TimeUnit;
import java.text.SimpleDateFormat;
import java.util.Scanner;

public class HelloWorld {
public static void main(String[] args) throws Exception
{

Writer output; //to write the data into a file
String PathOfFile = "/home/pi/boot.log";
PrintWriter writer = new PrintWriter(PathOfFile);
output = new BufferedWriter(new FileWriter(PathOfFile , true));
Calendar Time = Calendar.getInstance(); //get the time
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy-HH:mm:ss");

try
{
System.out.println("Hello - the device is UP and running now :-)");

output.append ("\r\n" + sdf.format(Time.getTime()) + " Unit is UP\r\n " );
output.close();

System.exit(0);
}

catch (Exception e)
{
System.err.println(e);
output.append (sdf.format(Time.getTime()) + " " + e );
output.close();

}
}

}

最佳答案

PrintWriter的方法被称为append()并不意味着它改变了正在打开的文件的模式。

您还需要以追加模式打开文件:

此外,您没有在代码中使用 printwriter,因此可以将其删除。试试这个

import java.io.*;
import java.net.*;
import java.util.*;
import java.util.Calendar;
import java.util.concurrent.TimeUnit;
import java.text.SimpleDateFormat;
import java.util.Scanner;

public class HelloWorld {
public static void main(String[] args) throws Exception
{

Writer output; //to write the data into a file
String PathOfFile = "/home/pi/boot.log";
//PrintWriter writer = new PrintWriter(PathOfFile , true /* append = true */)
output = new BufferedWriter(new FileWriter(PathOfFile , true));
Calendar Time = Calendar.getInstance(); //get the time
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy-HH:mm:ss");
try
{
System.out.println("Hello - the device is UP and running now :-)");
output.append ("\r\n" + sdf.format(Time.getTime()) + " Unit is UP\r\n " );
output.close();

System.exit(0);
}

catch (Exception e)
{
System.err.println(e);
output.append (sdf.format(Time.getTime()) + " " + e );
output.close();
}
}
}

关于java 添加新行到 txt\log 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50795119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com