gpt4 book ai didi

java - 检测目录中添加的新文件或修改的现有文件

转载 作者:行者123 更新时间:2023-12-01 19:25:27 25 4
gpt4 key购买 nike

在另一台机器上有一个 servlet java 应用程序,其目录和文件带有子目录 .now,如果在这些目录中添加了新的文本行或新文件。每当发生任何更改时我都想退出。如果有任何实现 java 应用程序的想法,我们将不胜感激

最佳答案

要执行此过程,您需要 Schedule,并且有很多用于此目的的 API。在下面的示例中,我将使用 java.util.concurrent 库。(java 5)

1- 安排流程:

    public class BeeperControl {

private static final ScheduledExecutorService scheduler =
Executors.newScheduledThreadPool(1);

public static void beepForAnHour() {
final Runnable beeper = new Runnable() {
public void run() {
// do your stuff here
System.out.println("beep"); }
};
final ScheduledFuture<?> beeperHandle =
scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS);
scheduler.schedule(new Runnable() {
public void run() { beeperHandle.cancel(true); }
}, 60 * 60, SECONDS);
}


public static void main(String... args){

beepForAnHour();
}
}

2- 观看在 D:\Temp 下创建、删除、移动和重命名文件,并且应该可以让您了解所需内容:

public class Foo3
{
public static void main(String[] args) throws Exception
{
FileSystem fs = FileSystems.getDefault();
WatchService ws = fs.newWatchService();
Path pTemp = Paths.get("D:/Temp");
pTemp.register(ws, new WatchEvent.Kind[] {ENTRY_MODIFY, ENTRY_CREATE, ENTRY_DELETE}, FILE_TREE);
while(true)
{
WatchKey k = ws.take();
for (WatchEvent<?> e : k.pollEvents())
{
Object c = e.context();
System.out.printf("%s %d %s\n", e.kind(), e.count(), c);
}
k.reset();
}
}
}

1- 安排流程 Reference1

2-观看创作Reference2

希望这有帮助。

关于java - 检测目录中添加的新文件或修改的现有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59317025/

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