最近工作要求两台FTP服务器之间的文件复制,查询资料后以及个人使用后,整理JAVA的FTPClient以及SFTPClient两个工具类相关内容,方便以后使用。
一开始本来使用FTPClient工具类进行两台服务器之间的文件交互,但是由于公司部分服务器拒绝FTP连接,使用的是SFTP连接,所以最后换成了SFTPClient工具类
例:复制 192.168.1.133 的 /root/tmp 目录下的所有文件到 192.168.1.134 的 /root/tmp 目录下
FTPClient实现:
String filePath = "/root/tmp";
String host1 = "192.168.1.133";
String host2 = "192.168.1.134";
String username = "root";
String password = "root";
//实例化FTPClient对象
FTPClient ftpClient1 = new FTPClient();
FTPClient ftpClient2 = new FTPClient();
try{
//连接FTP服务器
ftpClient1 .connect(host1);
ftpClient2 .connect(host2);
//登录FTP服务器
CjpftpClient1 .login(username,password);
ftpClient2 .login(username,password);
//获取FTP服务器路径下的所有文件
FTPClient[] ftpFiles = ftpClient.listFiles(filePath);
for(FTPClient ftpFile : ftpFiles){
//获取文件名称
String fileName = new String(ftpFile.getName().getBytes("ISO-8859-1"),"UTF-8");
ByteArrayOutputStream os = new ByteArrayOutputStream();
ftpClient1.