我正在为工作编写一个JAVA程序,在某些时候需要将文件从运行它的机器传输到另一台机器。这些要求可以配置为通过FTP,SFTP或认证安全但数据未加密传输的连接进行传输。
对于第三方JAVA库,实现前两个应该不会太糟糕。我遇到的问题是第三种选择。似乎唯一的方法就是通过SSH隧道传输FTP。
由于我在这件事上相当缺乏经验,所以想知道是否有人有任何有用的建议。这可以使用可靠的JAVA库(首选)或其他一些我只是在程序中作为单独进程调用的工具来完成。
感谢
答案 0 :(得分:1)
您可以使用Apache Commons VFS进行文件上传和下载。有FTP和FTPS。唯一的先决条件是您的远程系统必须运行FTP服务器。您不必调用某些外部进程。只需让自己的应用程序完成工作。记得要小心防火墙。
使用FTPS时,只保证控制会话被加密。数据通过常规FTP传输。是否加密取决于您自己。您可以使用PROT和CDC命令来控制加密。