FTP 确认传输完成

FTP acknowledge transfer completion

我使用 Java 客户端通过 FTP 定期将文件传输到远程系统。这些文件很大(> 10MB)。第三方应用程序在远程路径中处理这些文件。现在的问题是文件正在远程路径上创建,而传输仍在进行中,第三方应用程序开始处理它。我需要避免这种情况。

第三方建议的解决方案是传输另一个包含字节大小的文件。假设正在传输的文件是 Transaction_20160513_1130.csv 然后在传输完成后传输另一个文件 Transaction_20160513_1130.size 这将是一个包含大小的纯文本Transaction_20160513_1130.csv

字节

还有比上面更好的解决办法吗?这可能是一个常见问题。希望也有一个共同的解决方案。

如果您的 FTP 服务器允许重命名文件,一个更简单的解决方案是使用类似 Transaction_20160513_1130.temp 的文件名进行上传,并在上传结束后重命名为 Transaction_20160513_1130.csv 并在远程系统只处理具有正确扩展名的文件。