最近开发了一个新的修改接口,但是要记录这个接口的使用记录,比如修改人,修改时间,修改内容等。因为不想把这些和项目日志放在一起,想了想,就不用logback来写了,直接创建一个文件,调用一次就写入一次就行。
下面是使用 FileWritter 的方法来持续写入数据到文件中。
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author Xuhy
* @Date 2023/8/30 0030 14:36
*/
public class InFile {
public static void main(String[] args) {
SimpleDateFormat format1 = new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 定义要写入的内容
String data = "修改时间:" + format2.format(new Date()) + "\n" +
"修改用户:admin\n" +
"修改内容:XXXXXXXXXXXXXXXXXXXXXXXXXX\n" +
"--------------------------------------------------------\n";
// 设置文件夹
String filePath = "E:\\Xuhy\\Log";
// 设置写入的文件名
String fileName = format1.format(new Date()) + ".txt";
// 如果文件夹不存在,则创建
File file1 = new File(filePath);
if (!file1.exists()) {
file1.mkdirs();
}
// 文件不存在,则创建文件
File file2 = new File(filePath, fileName);
if (!file2.exists()) {
try {
file2.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
// FileWriter 是使用字节流将数据写入文件中的。
FileWriter fileWriter = null;
BufferedWriter bufferedWriter = null;
try {
// FileWriter
// 参数一代表的是要写入的文件路径
// 参数二代表的是否将数据追加到文件末尾。默认为false,即覆盖原有的内容。
fileWriter = new FileWriter(file2, true);
bufferedWriter = new BufferedWriter(fileWriter);
// 写入数据
bufferedWriter.write(data);
// 关闭流
bufferedWriter.close();
fileWriter.close();
System.out.println("写入成功,文件路径为:"+file2.getPath());
} catch (IOException e) {
e.printStackTrace();
}
}
}