java ftp编程

package util;

import java.io.IOException;
import java.io.InputStream;
import java.util.Calendar;
import java.util.Date;

import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
import org.apache.log4j.Logger;

public class FTPUtil {
	private static Logger logger = Logger.getLogger(FTPUtil.class);

	public static final String ftp_Url=ConfigProperties.getPropertiesValue("ftp_Url");
	public static final String ftp_port=ConfigProperties.getPropertiesValue("ftp_port");
	public static final String ftp_path=ConfigProperties.getPropertiesValue("ftp_path");
	public static final String ftp_user=ConfigProperties.getPropertiesValue("ftp_user");
	public static final String ftp_pwd=ConfigProperties.getPropertiesValue("ftp_pwd");
	private static String ftpUrlXML=ConfigProperties.getValue("ftpUrlXML")+getYYYYMM()+"/";

	public static final String ftp_Url_sh=ConfigPropertiesSH.getPropertiesValue("ftp_Url_sh");
	public static final String ftp_port_sh=ConfigPropertiesSH.getPropertiesValue("ftp_port_sh");
	public static final String ftp_path_sh=ConfigPropertiesSH.getPropertiesValue("ftp_path_sh");
	public static final String ftp_user_sh=ConfigPropertiesSH.getPropertiesValue("ftp_user_sh");
	public static final String ftp_pwd_sh=ConfigPropertiesSH.getPropertiesValue("ftp_pwd_sh");
	private static String ftpUrlXML_sh=ConfigPropertiesSH.getValue("ftpUrlXML_sh")+getYYYYMM()+"/";

	/**
	* Description: 向FTP服务器上传文件
	*/ 
	public static boolean uploadFile(String filename, InputStream input) { 
	   System.out.println("FTPUtil.uploadFile()>>>>>>>>>>>>>>>>>>>start>>>>>>>>>>>>>>>");
		boolean success = false; 
	    FTPClient ftp = new FTPClient(); 
	    try { 
	        int reply; 
	        ftp.connect(ftp_Url, Integer.valueOf(ftp_port));//连接FTP服务器 
	        //如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器 
	        ftp.login(ftp_user, ftp_pwd);//登录 
	        reply = ftp.getReplyCode(); 
	        if (!FTPReply.isPositiveCompletion(reply)) { 
	            ftp.disconnect(); 
	            return success; 
	        } 
	        ftp.changeWorkingDirectory(filename); 
	        ftp.enterLocalPassiveMode();  
	        ftp.storeFile(filename, input); 
	        logger.info(filename+"上传至:"+ftp_Url+ftp_path);
	        input.close(); 
	        ftp.logout(); 
	        success = true; 
	    } catch (IOException e) { 
	        e.printStackTrace(); 
	    } finally { 
	        if (ftp.isConnected()) { 
	            try { 
	                ftp.disconnect(); 
	            } catch (IOException ioe) { 
	            } 
	        } 
	    } 
	    System.out.println("success*****************************:"+success);
	    System.out.println("FTPUtil.uploadFile()<<<<<<<<<<<<<<end<<<<<<<<<<<<<<<<<<<<<");
	    return success; 
	}
	/**
	* Description: 向FTP服务器上传文件(搜狐)
	*/ 
	public static boolean uploadFileSH(String filename, InputStream input) { 
	   System.out.println("FTPUtil.uploadFileSH()>>>>>>>>>>>>>>>>>>>start>>>>>>>>>>>>>>>");
		boolean success = false; 
	    FTPClient ftp = new FTPClient(); 
	    try { 
	        int reply; 
	        ftp.connect(ftp_Url_sh, Integer.valueOf(ftp_port_sh));//连接FTP服务器 
	        //如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器 
	        ftp.login(ftp_user_sh, ftp_pwd_sh);//登录 
	        reply = ftp.getReplyCode(); 
	        if (!FTPReply.isPositiveCompletion(reply)) { 
	            ftp.disconnect(); 
	            return success; 
	        } 
	        ftp.changeWorkingDirectory(filename);
	        ftp.enterLocalPassiveMode();
	        System.out.println("changeWorkingDirectory**************************:"+filename);
	        ftp.storeFile(filename, input); 
	        System.out.println(filename+"已上传到ftp上*****************************");
	        input.close(); 
	        ftp.logout(); 
	        success = true; 
	    } catch (IOException e) { 
	        e.printStackTrace(); 
	    } finally { 
	        if (ftp.isConnected()) { 
	            try { 
	                ftp.disconnect(); 
	            } catch (IOException ioe) { 
	            } 
	        } 
	    } 
	    System.out.println("FTPUtil.uploadFileSH():success*****************************:"+success);
	    System.out.println("FTPUtil.uploadFileSH()<<<<<<<<<<<<<<end<<<<<<<<<<<<<<<<<<<<<");
	    return success; 
	}
	/**
	* Description: 向FTP服务器创建文件夹(芒果)
	*/ 
	public static boolean createDirectoryAndMovieTs(String directory, String ts) { 
		System.out.println("FTPUtil.createDirectoryAndMovieTs()>>>>>>>>>>>>>>start>>>>>>>>>>>>>");
	    boolean success = false; 
	    FTPClient ftp = new FTPClient(); 
	    try { 
	        int reply; 
	        ftp.connect(ftp_Url, Integer.valueOf(ftp_port));//连接FTP服务器 
	        //如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器 
	        ftp.login(ftp_user, ftp_pwd);//登录 
	        reply = ftp.getReplyCode(); 
	        if (!FTPReply.isPositiveCompletion(reply)) { 
	            ftp.disconnect(); 
	            return success; 
	        } 
	        //创建文件夹
	        ftp.changeWorkingDirectory("/"+ftpUrlXML); 
	        ftp.makeDirectory(directory);
	        System.out.println("在目标服务器上成功建立了文件夹: /" +ftpUrlXML+ directory);
	        
	        //移动ts文件
	        ftp.rename("/"+ftpUrlXML+ts,"/"+ftpUrlXML+directory+"/"+ts);
	        System.out.println("在目标服务器上移动文件"+ts+"到文件夹/" +ftpUrlXML+ directory+"下");
	        ftp.logout(); 
	        success = true; 
	    } catch (IOException e) { 
	        e.printStackTrace(); 
	    } finally { 
	        if (ftp.isConnected()) { 
	            try { 
	                ftp.disconnect(); 
	            } catch (IOException ioe) { 
	            } 
	        } 
	    } 
	    System.out.println("success*****************************:"+success);
		System.out.println("FTPUtil.createDirectoryAndMovieTs()<<<<<<<<<<<<<<<end<<<<<<<<<<<<");

	    return success; 
	}
	/**
	* Description: 向FTP服务器创建文件夹(搜狐)
	*/ 
	public static boolean createDirectoryAndMovieTsSH(String directory, String ts) { 
		System.out.println("FTPUtil.createDirectoryAndMovieTsSH()>>>>>>>>>>>>>>start>>>>>>>>>>>>>");
	    boolean success = false; 
	    FTPClient ftp = new FTPClient(); 
	    try { 
	        int reply; 
	        ftp.connect(ftp_Url_sh, Integer.valueOf(ftp_port_sh));//连接FTP服务器 
	        //如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器 
	        ftp.login(ftp_user_sh, ftp_pwd_sh);//登录 
	        reply = ftp.getReplyCode(); 
	        if (!FTPReply.isPositiveCompletion(reply)) { 
	            ftp.disconnect(); 
	            return success; 
	        } 
	        //创建文件夹
	        ftp.changeWorkingDirectory("/"+ftpUrlXML_sh); 
	        ftp.makeDirectory(directory);
	        System.out.println("在目标服务器上成功建立了文件夹: /" +ftpUrlXML_sh+ directory);
	        
	        //移动ts文件
	        ftp.rename("/"+ftpUrlXML_sh+ts,"/"+ftpUrlXML_sh+directory+"/"+ts);
	        System.out.println("在目标服务器上移动文件"+ts+"到文件夹/" +ftpUrlXML_sh+ directory+"下");
	        ftp.logout(); 
	        success = true; 
	    } catch (IOException e) { 
	        e.printStackTrace(); 
	    } finally { 
	        if (ftp.isConnected()) { 
	            try { 
	                ftp.disconnect(); 
	            } catch (IOException ioe) { 
	            } 
	        } 
	    } 
	    System.out.println("FTPUtil.createDirectoryAndMovieTsSH():success*****************************:"+success);
		System.out.println("FTPUtil.createDirectoryAndMovieTsSH()<<<<<<<<<<<<<<<end<<<<<<<<<<<<");

	    return success; 
	}
	/**
	* Description: 判断ftp上是否有该视频
	* @author xiewenchao
	* @return 成功返回true,否则返回false
	*/ 
	public static boolean haveTs(String str_ts) {
		System.out.println("FTPUtil.haveTs()>>>>>>>>>>>>>>>start>>>>>>>>>>>>>>>>");
	    boolean success = false; 
	    FTPClient ftp = new FTPClient(); 
	    try { 
	        int reply; 
	        ftp.connect(ftp_Url, Integer.valueOf(ftp_port));//连接FTP服务器 
	        //如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器 
	        ftp.login(ftp_user, ftp_pwd);//登录 
	        reply = ftp.getReplyCode(); 
	        if (!FTPReply.isPositiveCompletion(reply)) { 
	            ftp.disconnect(); 
	            return success; 
	        } 
	        if (!ftp.changeWorkingDirectory("/"+ftpUrlXML)){
	        	ftp.makeDirectory("/"+ftpUrlXML);
	        	ftp.changeWorkingDirectory("/"+ftpUrlXML);
	        	System.out.println("新创建的当月文件夹进入目录成功:"+"/"+ftpUrlXML);
	    	}else{
	    		 ftp.changeWorkingDirectory("/"+ftpUrlXML);
	    		 System.out.println("直接当月文件夹,没创建进入目录成功:"+"/"+ftpUrlXML);
	    	}
	        System.out.println("*************changeWorkingDirectory_mg***:/"+ftpUrlXML);
	        ftp.enterLocalPassiveMode();  
	        String[] list = ftp.listNames();
	        System.out.println("*************list***"+list.length);
	        for(int i=0 ;i<list.length;i++){
	        	if(str_ts.equals(list[i])){
	        		 success = true; 
	        	}
	        }
	        System.out.println("success*****************************:"+success);
	        ftp.logout(); 
	    } catch (IOException e) { 
	        e.printStackTrace(); 
	    } finally { 
	        if (ftp.isConnected()) { 
	            try { 
	                ftp.disconnect(); 
	            } catch (IOException ioe) { 
	            } 
	        } 
	    } 
	    System.out.println("FTPUtil.haveTs()<<<<<<<<<<<<<<end<<<<<<<<<<<<<<<");
	    return success; 
	}
	/**
	* Description: 判断ftp上是否有该视频
	* @author xiewenchao
	* @return 成功返回true,否则返回false
	*/ 
	public static boolean haveTsSH(String str_ts) {
		System.out.println("FTPUtil.haveTsSH()>>>>>>>>>>>>>>>start>>>>>>>>>>>>>>>>");
	    boolean success = false; 
	    FTPClient ftp = new FTPClient(); 
	    try { 
	        int reply; 
	        ftp.connect(ftp_Url_sh, Integer.valueOf(ftp_port_sh));//连接FTP服务器 
	        //如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器 
	        ftp.login(ftp_user_sh, ftp_pwd_sh);//登录
	    	System.out.println("***********************ftp_user_sh="+ftp_user_sh+",ftp_pwd_sh="+ftp_pwd_sh+",ftp_Url_sh="+ftp_Url_sh+",ftp_port_sh="+ftp_port_sh);
	        reply = ftp.getReplyCode(); 
			System.out.println("****************************"+reply);

	        if (!FTPReply.isPositiveCompletion(reply)) { 
	            ftp.disconnect();
	            System.out.println("****************************"+success);
	            return success; 
	        } 
	       if (!ftp.changeWorkingDirectory("/"+ftpUrlXML_sh)){
	        	ftp.makeDirectory("/"+ftpUrlXML_sh);
	        	ftp.changeWorkingDirectory("/"+ftpUrlXML_sh);
	        	System.out.println("新创建的当月文件夹进入目录成功:"+"/"+ftpUrlXML_sh);
	    	}else{
	    		 ftp.changeWorkingDirectory("/"+ftpUrlXML_sh);
	    		 System.out.println("直接当月文件夹,没创建进入目录成功:"+"/"+ftpUrlXML_sh);
	    	}
	        System.out.println("*************changeWorkingDirectory_sh***:/"+ftpUrlXML_sh);
	        ftp.enterLocalPassiveMode();  
	        String[] list = ftp.listNames();
	        System.out.println("*************list***"+list.length);
	        for(int i=0 ;i<list.length;i++){
	        	if(str_ts.equals(list[i])){
	        		 success = true; 
	        		 System.out.println("*************success***"+success);
	        	}
	        }
	        System.out.println("FTPUtil.haveTsSH():success*****************************:"+success);
	        ftp.logout(); 
	    } catch (IOException e) { 
	        e.printStackTrace(); 
	    } finally { 
	        if (ftp.isConnected()) { 
	            try { 
	                ftp.disconnect(); 
	            } catch (IOException ioe) { 
	            } 
	        } 
	    } 
	    System.out.println("FTPUtil.haveTsSH()<<<<<<<<<<<<<<end<<<<<<<<<<<<<<<");
	    return success; 
	}
	/**
	 * 获取年月:
	 */
	public static String getYYYYMM(){
		Calendar now = Calendar.getInstance();
		int year = now.get(Calendar.YEAR);
		int month = now.get(Calendar.MONTH) + 1;
		String _month= "";
		if(month<10){
			_month="0"+month;
		}else{
			_month = ""+month;
		}
		return  year+_month;

	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//FTPUtil.createDirectory("SOHU201611211111");
	}

}

读取properties.properties文件相关属性 ConfigProperties.class

package util;


import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.Properties;


public class ConfigProperties {
public static  String getValue(String key){
String value = null;
String  propertiesValue = getPropertiesValue(key);
if(propertiesValue!=null&&!"".equals(propertiesValue)){
value = propertiesValue;
}
return value;
}


public static String getPropertiesValue(String key) {
Properties props = new Properties();
try {
props.load(ConfigProperties.class.getResourceAsStream("properties.properties"));
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return props.getProperty(key);
}


}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java网络编程是指使用Java编程语言来开发网络应用程序的过程。它可以实现各种网络功能,包括客户端和服务器之间的通信、数据传输、网络协议的实现等。 Java网络编程的实战意味着通过实际的项目来应用相关的技术和知识。首先,我们需要了解TCP/IP协议、HTTP协议和Socket编程等基础知识。然后,我们可以使用Java提供的网络编程类库,如Socket、URL、URLConnection、HttpURLConnection等,来实现各种网络功能。 一个常见的实战项目是开发一个基于TCP/IP协议的客户端和服务器程序。首先,我们需要创建一个Socket对象,通过指定服务器的IP地址和端口号来建立与服务器的连接。然后,我们可以通过Socket对象的输入流和输出流进行数据的读取和写入。客户端可以发送请求给服务器,服务器接收请求并进行相应的处理,然后将处理结果返回给客户端。 另一个实战项目是开发一个基于HTTP协议的网络应用程序。我们可以使用Java提供的URLConnection或HttpURLConnection类来实现对HTTP请求的发送和响应的处理。通过建立一个URL对象并调用openConnection方法,我们可以获取到一个URLConnection对象,通过这个对象可以设置请求的方法、头信息、请求参数等。然后,我们可以通过URLConnection提供的输入流获取到服务器返回的响应数据。 除了上述实例,Java网络编程实战还可以涉及其他方面,如FTP、SMTP、UDP等网络协议的实现,多线程编程的应用等。 总之,通过实际的项目实战,我们可以提高我们的网络编程技能,并对Java的网络编程有更深入的理解。这将使我们能够更好地开发网络应用程序,并为我们未来的职业发展打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值