用java中的properties输出上次运行代码的开始和结束时间
时间: 2023-12-03 12:44:22 浏览: 32
可以使用Java中的Properties类来保存上次运行代码的开始和结束时间,然后通过读取Properties文件获取这些信息。下面是一个示例代码:
```java
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Properties;
public class LastRunTime {
private static final String PROP_FILE = "lastruntime.properties";
private static final String START_TIME_PROP = "starttime";
private static final String END_TIME_PROP = "endtime";
public static void main(String[] args) {
Properties props = new Properties();
// 读取上次运行的开始时间和结束时间
try (FileInputStream fis = new FileInputStream(PROP_FILE)) {
props.load(fis);
} catch (IOException e) {
// 如果文件不存在,则创建一个新的Properties对象
System.out.println("No last run time found.");
}
// 获取本次运行的开始时间
Date startTime = new Date();
String startTimeStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(startTime);
System.out.println("Start time: " + startTimeStr);
// 如果上次运行的结束时间存在,则输出上次运行的结束时间
if (props.containsKey(END_TIME_PROP)) {
String lastEndTimeStr = props.getProperty(END_TIME_PROP);
System.out.println("Last end time: " + lastEndTimeStr);
}
// 模拟代码运行
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// 获取本次运行的结束时间
Date endTime = new Date();
String endTimeStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(endTime);
System.out.println("End time: " + endTimeStr);
// 保存本次运行的开始时间和结束时间
props.setProperty(START_TIME_PROP, startTimeStr);
props.setProperty(END_TIME_PROP, endTimeStr);
try (FileOutputStream fos = new FileOutputStream(PROP_FILE)) {
props.store(fos, "Last run time");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,我们使用了一个名为“lastruntime.properties”的Properties文件来保存上次运行的开始时间和结束时间。在程序启动时,我们首先尝试读取这个文件中的内容。如果文件不存在,则说明这是第一次运行程序,我们会创建一个新的Properties对象。然后,我们获取本次运行的开始时间,并输出上次运行的结束时间(如果存在)。接着,我们模拟代码的运行。最后,我们获取本次运行的结束时间,并保存本次运行的开始时间和结束时间到Properties文件中。