当前位置: 首页 > 知识库问答 >
问题:

如果文件已重命名,如何跟踪?

佟颖逸
2023-03-14


我正在用BufferedReader实时读取日志文件。这个效果很好。但每天都有一个日志循环,这意味着我的日志文件将被重命名,不再更改。将在同一位置创建新的日志文件。在我可以更改到新的日志文件之前,我需要完成当前日志文件的读取,使用BufferedReader没有问题,但是我如何才能发现文件名已更改?

我试着调用文件。getPath()文件。getAbsolutePath(),但这不起作用,因为文件-objects路径在创建后是固定的。

我还尝试使用WatchService,但附加到文件后也会导致ENTRY\u DELETE。由此产生的检查是否是重命名的过度负担太多了。

有人知道一种方法来判断日志文件是否被重命名了吗?

共有1个答案

山高峰
2023-03-14

你可以试试通知。做这项工作,尽管我不知道需要多少资源。

 类似资料:
  • 问题内容: 我的硬盘中有一个现有文件,我想重命名该文件。 问题答案: 像这样:

  • 问题内容: 我想更改为。 问题答案: 用途

  • 问题内容: 我有一个项目,其中包含以下组件 和网络模块为 Web模块创建名为war的战争文件, 如何使用maven将其重命名为? 问题答案: 您可以在产生战争的Web模块中使用以下命令: 这将导致在使用目标“ war:war”时创建一个名为bird.war的文件。

  • 我有一个项目,在pom中包含以下组件。xml 以及web模块pom。xml web模块创建一个名为web-1.0-SNAPSHOT的war文件。war如何配置maven将其构建为bird。战争?

  • 问题描述 (Problem Description) 如何重命名文件? 解决方案 (Solution) 此示例演示如何使用File类的oldName.renameTo(newName)方法重命名文件。 import java.io.File; public class Main { public static void main(String[] args) { File old

  • 文件重命名 文件重命名 源码/* * Copyright (c) 2006-2018, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * *//* * 程序清单:更改名称 * * 程序会创建一个操作文件的函数并导出到msh命令列表 * 在