尝试使用java创建文本文件日志
我对编程和尝试创建日志文件不熟悉。我写的代码用于将消息和时间发送到文本文件。但每次我发送另一条消息时,它都会记录上一条消息。我想要一个信息和时间的列表,而不是最新的尝试使用java创建文本文件日志,java,Java,我对编程和尝试创建日志文件不熟悉。我写的代码用于将消息和时间发送到文本文件。但每次我发送另一条消息时,它都会记录上一条消息。我想要一个信息和时间的列表,而不是最新的 public void run () { String message; try { while ((message = reader.readLine()) != null){ System.out.println( "You voted "
public void run () {
String message;
try {
while ((message = reader.readLine()) != null){
System.out.println( "You voted " + message + " You the best") ;
BufferedWriter out = new BufferedWriter(new FileWriter("test.txt"));
out.append(message + "\n");
TimeZone tz = TimeZone.getTimeZone("UTC"); // or PST, MID, etc ...
Date now = new Date();
DateFormat df = new SimpleDateFormat (" yyyy.MM.dd hh:mm:ss ");
df.setTimeZone(tz);
String currentTime = df.format(now);
String timeStamp = new SimpleDateFormat().format( new Date() );
FileWriter aWriter = new FileWriter("test.txt", true);
aWriter.write(currentTime + " " + "\n");
aWriter.flush();
aWriter.close();
out.write(message);
out.close();
everyoneMessage(message);
} // close while
}catch(Exception ex) {ex .printStackTrace();}
} // close run
}// close inner class
Change
BufferedWriter out=new BufferedWriter(new FileWriter(“test.txt”)代码>
到
您正在通过循环重新初始化BufferedWriter
。将代码块移到循环的外部。或者,您可以将此构造用于FileWriter
,其中:
最好通过log4j来实践java日志记录。
作为一名后端java程序员,我从未遇到过需要实现记录器而不使用log4j的情况
您应该查看:
并在网上找到一些简单的教程。有无数个简单的谷歌搜索
祝你好运 查看java.util.logging.Logger,当您掌握了其中的诀窍时,请检查slf4jUse日志库(例如log4j),不要忘记将close语句放入finally
块中;
BufferedWriter out = new BufferedWriter(new FileWriter("test.txt", true));
// true means append to the end of the file
BufferedWriter out = new BufferedWriter(new FileWriter("test.txt", true));