每 10 秒写入一个特定文件
Write to a specific file every 10 secs
我正在尝试使用 spring 引导程序的 @Scheduled 每 10 秒将当前系统时间打印到特定的文本文件。
我成功创建了如下内容:
@Scheduled(fixedRate = 10000) // 10 seconds
public void writeToMyFile() {
try {
BufferedWriter writer = new BufferedWriter(new FileWriter("C:\temp\envVarFile.txt", true));
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd 'at' HH:mm:ss z");
try {
writer.append(formatter.format(System.currentTimeMillis()));
}
catch(IOException e){
e.printStackTrace()
}
writer.close();
}
catch(Exception e) {
e.printStackTrace()
}
}
我不知道我是在创建文件新文件还是在最初创建的“envVarFile”文件上写入。
如果有人能提供帮助,我会很高兴。
!重要!:
@Rakesh 的解决方案有效,但是在 envVarFile.txt 存在于 C:
内的 temp 目录下的情况下应用于代码时
请在下方使用
File yourfile = new File(filename);
if(yourfile.exists()){
writer = Files.newBufferedWriter(Paths.get(filename), StandardCharsets.UTF_8,StandardOpenOption.APPEND);
}else{
writer = Files.newBufferedWriter(Paths.get(filename), StandardCharsets.UTF_8,StandardOpenOption.CREATE_NEW);
}
我正在尝试使用 spring 引导程序的 @Scheduled 每 10 秒将当前系统时间打印到特定的文本文件。
我成功创建了如下内容:
@Scheduled(fixedRate = 10000) // 10 seconds
public void writeToMyFile() {
try {
BufferedWriter writer = new BufferedWriter(new FileWriter("C:\temp\envVarFile.txt", true));
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd 'at' HH:mm:ss z");
try {
writer.append(formatter.format(System.currentTimeMillis()));
}
catch(IOException e){
e.printStackTrace()
}
writer.close();
}
catch(Exception e) {
e.printStackTrace()
}
}
我不知道我是在创建文件新文件还是在最初创建的“envVarFile”文件上写入。
如果有人能提供帮助,我会很高兴。
!重要!: @Rakesh 的解决方案有效,但是在 envVarFile.txt 存在于 C:
内的 temp 目录下的情况下应用于代码时请在下方使用
File yourfile = new File(filename);
if(yourfile.exists()){
writer = Files.newBufferedWriter(Paths.get(filename), StandardCharsets.UTF_8,StandardOpenOption.APPEND);
}else{
writer = Files.newBufferedWriter(Paths.get(filename), StandardCharsets.UTF_8,StandardOpenOption.CREATE_NEW);
}