从一个ftp上传文件至另一个ftp

FTPClient localFtpClient = new FTPClient();  
FTPCLient targetFtpClient = new FTPClient(); 
//ftp连接
localFtpClient.connect(fileIP);
boolean isLogin1 = localFtpClient.login(fileFtpName, fileFtpPassword);
targetFtpClient.connect(targetIP);
boolean isLogin2 = targetFtpClient.login(targetFtpName, targetFtpPassword);
if (isLogin1 && isLogin2) {
    try {
	localFtpClient.enterLocalPassiveMode();
	FTPFile[] fs = localFtpClient.listFiles(localFtpPath); //获取目标目录下的所有文件
	for (FTPFile ff : fs) {
	    String f= new String(ff.getName().getBytes("iso-8859-1"), "utf-8");
	    if (f.equals(name + ".mp4")) {  //根据文件名称查询目标文件,以mp4文件为例
	    OutputStream is = targetFtpClient.storeFileStream(targetFtpClient.printWorkingDirectory() + targetFtpPath + "/" + ff.getName());//这句话就是获取targetFtpClient的流
	    if(is == null){
		data.put("promptMSG", "目标文件不存在或无访问权限!");
		break;
	    }
	    localFtpClient.changeWorkingDirectory(localFtpPath);
	    localFtpClient.setFileType(FTP.BINARY_FILE_TYPE); 
	    Boolean b = localFtpClient.retrieveFile(ff.getName(), is); //这句话是把文件从ftp1复制到ftp2中,通过流is  
	    is.close();
	    break;
	}}
	localFtpClient.logout();
    } catch (IOException e) {
	e.printStackTrace();
    } finally {
	if (localFtpClient.isConnected()) {
	    try {
		localFtpClient.disconnect();
	    } catch (IOException ioe) {
	}}
	if (targetFtpClient.isConnected()) {
	    try {
	        targetFtpClient.disconnect();
	    } catch (IOException ioe) {
}}}}else{
	data.put("promptMSG", "ftp路径无法访问!");
}

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值