gpt4 book ai didi

java - 监视共享文件夹的更改并拉取到数据库

转载 作者:搜寻专家 更新时间:2023-10-30 20:18:09 25 4
gpt4 key购买 nike

我有一个文件夹,用户可以在其中保存或修改文件。创建或修改文件时,我需要将该文件序列化并插入到数据库中。

我查看了 Java Watch Directory 和 Apache commons.io.monitor。监视目录方法会拾取每个事件,因为它与导致问题的 native 文件事件通知相关联。 Stackoverflow question multiple events watch directory

监控目录的最佳方式/或任何其他方法是什么?

import org.apache.commons.io.monitor.*;
import java.io.*;

public class ApacheWatch2 {

public static void startApacheWatch(String path) {
final File folder = new File(path);
if (folder.exists()) {
try {
FileAlterationObserver observer = new FileAlterationObserver(folder);
observer.addListener(new ChangeEventHandler());
final FileAlterationMonitor monitor = new FileAlterationMonitor();
monitor.addObserver(observer);
monitor.start();
} catch (Exception e) {
e.printStackTrace(System.err);
}
} else {
throw new RuntimeException("File does not exist");
}
}

private static class ChangeEventHandler extends FileAlterationListenerAdaptor {

@Override
public void onFileCreate(File file) {
//DO SERIALISATION STUFF WITH FILE
}

@Override
public void onFileChange(File file) {
//DO SERIALISATION STUFF WITH FILE
}
}
}

最佳答案

我建议看看@spring batch http://projects.spring.io/spring-batch它确实满足了数据库交互的轮询目录、调度和编写器(以及许多其他功能)。

关于java - 监视共享文件夹的更改并拉取到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24578950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com