使用Hutool监听文件变化
时间: 2024-03-08 18:48:02 浏览: 13
可以使用Hutool的`FileMonitor`类来监听文件变化。具体实现步骤如下:
1. 创建`FileMonitor`对象
```java
FileMonitor fileMonitor = FileMonitor.create(file, interval, listener);
```
其中,`file`参数是要监听的文件,`interval`参数是监听间隔时间(单位为毫秒),`listener`参数是监听器。
2. 实现`FileChangeListener`接口
```java
public class MyFileChangeListener implements FileChangeListener {
@Override
public void onFileChange(File file) {
// 文件发生变化时的操作
}
}
```
在`onFileChange`方法中可以定义文件变化时的操作。
3. 注册监听器
```java
fileMonitor.addListener(listener);
```
4. 启动监听器
```java
fileMonitor.start();
```
完整示例代码如下:
```java
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.file.FileMonitor;
import cn.hutool.core.io.file.FileMonitor.FileChangeListener;
import java.io.File;
public class FileMonitorDemo {
public static void main(String[] args) {
File file = FileUtil.file("example.txt");
FileChangeListener listener = new MyFileChangeListener();
FileMonitor fileMonitor = FileMonitor.create(file, 1000, listener);
fileMonitor.addListener(listener);
fileMonitor.start();
}
public static class MyFileChangeListener implements FileChangeListener {
@Override
public void onFileChange(File file) {
System.out.println(file.getName() + " has changed!");
}
}
}
```
这个示例程序会监听指定的文件(`example.txt`),每隔1秒检查一次文件是否变化。如果文件变化,会打印文件名。