gpt4 book ai didi

java - 如果目标相同则跳过文件复制

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

我正在尝试构建一个自动同步应用程序。如果例如,应该复制这些文件内容已更改。因为我是camel新手,所以我没有找到任何我想知道是否可以以某种方式将目标文件与源文件(如果有的话)进行比较的内容。

public class App {

public static void main(String[] args) {
final long durationMs = 2000;
final CamelContext camelContext = new DefaultCamelContext();
try {
camelContext.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
from("file:/home/av/Schreibtisch/src?noop=true&recursive=true&maxDepth=100")
.to("file:/home/av/Schreibtisch/target");
}
});
camelContext.start();
Thread.sleep(durationMs);
camelContext.stop();

} catch (Exception camelException) {
camelException.printStackTrace();
}
}

}

最佳答案

Apache Camel documentation中有一个完整的部分了解如何避免在特定条件下消耗特定文件。 idempotidempoteKey 是这里的解决方案。

也许判断文件是否已被使用的歧视性条件是:

  1. 文件大小(${file:name}-${file:size})
  2. 文件时间戳 (${file:name}-${file:modified})
  3. 实现更复杂的条件。

例如,使用文件的大小。这将类似于:

from("file:/somedir?noop=true&idempotentKey=${file:name}-${file:size}")

关于java - 如果目标相同则跳过文件复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59956649/

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