Java 当发现重复文件时,重命名Camel中的文件
当发现重复文件时,我正在尝试重命名Camel中的文件。我有一个包含x个文件的目录,如果另一个文件放在该文件夹中,我希望重命名而不是覆盖原始文件 我尝试使用Java 当发现重复文件时,重命名Camel中的文件,java,apache-camel,Java,Apache Camel,当发现重复文件时,我正在尝试重命名Camel中的文件。我有一个包含x个文件的目录,如果另一个文件放在该文件夹中,我希望重命名而不是覆盖原始文件 我尝试使用fileExists和tempFileName选项,但没有解决问题 .to("file://"+decryptedFailed+"?delay=3000&tempFileName=tempName&fileExist=TryRename") 我这样做有什么问题吗?来自: TryRename[…]允许尝试将文件从临时名称重命名为
fileExists
和tempFileName
选项,但没有解决问题
.to("file://"+decryptedFailed+"?delay=3000&tempFileName=tempName&fileExist=TryRename")
我这样做有什么问题吗?来自:
TryRename[…]允许尝试将文件从临时名称重命名为实际名称,而无需执行任何现有检查
这不是你想要的。与moveExisting
选项一起使用moveExisting,而不是TryRename
:
.to("file://"+decryptedFailed+"?delay=3000&fileExist=Move&moveExisting=${file:name.noext}-${date:now:yyyyMMddHHmmssSSS}.${file:ext}");
您如何使用fileExist
?提供一些代码。我刚刚将此添加到问题中。感谢您的帮助,它现在可以工作了。唯一的问题是,它当前将原始文件放在一个目录中,其中目录名等于现有名称。有没有可能只有文件而没有目录?@JamesFox您可以使用file:onlyname
。请查看所有可能性。谢谢Peter,但这并没有阻止文件被放入目录。它必须是moveExisting选项的一个功能。我想我只能忍受它了。