如何在使用twaitforfile或自定义java代码将文件从一个目录传输到另一个目录时产生时间延迟?

如何在使用twaitforfile或自定义java代码将文件从一个目录传输到另一个目录时产生时间延迟?,java,arrays,file,talend,transfer,Java,Arrays,File,Talend,Transfer,我正在使用talend从源文件夹拾取文件并传输到目标文件夹,但是我只希望在文件完全写入源文件夹时拾取文件进行处理,或者在文件被主动复制到源文件夹期间/时不拾取文件进行处理 在talend中,当我试图将文件从源文件移动到目标文件时,我意识到了这一点。当文件仍被写入源文件夹时,会显示一条错误消息“文件仍被其他进程使用”,但是我不希望每次运行都触发该错误,我希望跳过并移动到迭代文件夹中的下一个文件 我可以在组件之间使用twait或twaitforfile,或者添加java代码来处理它,以便 “pres

我正在使用talend从源文件夹拾取文件并传输到目标文件夹,但是我只希望在文件完全写入源文件夹时拾取文件进行处理,或者在文件被主动复制到源文件夹期间/时不拾取文件进行处理

在talend中,当我试图将文件从源文件移动到目标文件时,我意识到了这一点。当文件仍被写入源文件夹时,会显示一条错误消息“文件仍被其他进程使用”,但是我不希望每次运行都触发该错误,我希望跳过并移动到迭代文件夹中的下一个文件

我可以在组件之间使用twait或twaitforfile,或者添加java代码来处理它,以便 “presenttime(sysdate)-filetime(到达文件夹)>时差(比方说3-5分钟左右)”

仅当满足条件时,才将文件移动到目标文件夹


请建议最有效的处理方法。

在tWaitForFile的高级设置中,您有一个选项“等待释放”:您可以设置它,当检测到一个文件时,它将在第一个文件后XXXms执行2d检查,以确保该文件已释放(以便不会主动复制到存储库)。当文件被完全复制后,您就可以使用它了