首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >监视共享文件夹中的更改并将其拖到数据库

监视共享文件夹中的更改并将其拖到数据库
EN

Stack Overflow用户
提问于 2014-07-04 17:46:07
回答 1查看 1.8K关注 0票数 2

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

我看过Java目录和Apache commons.io.monitor。watch目录方法接收每个事件,因为它与本机文件事件通知绑定在一起,从而导致问题。Stackoverflow question multiple events watch directory

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

代码语言:javascript
复制
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
      }
}
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-04 18:01:27

我建议您看一看@ spring http://projects.spring.io/spring-batch,它确实适合轮询目录、数据库交互的调度和编写器(以及许多其他特性)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24578950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档