根据字符串创建FTP本地目录 并按照日期建立子目录返回路径

/**
	 * 根据字符串创建FTP本地目录 并按照日期建立子目录返回
	 * @param path 
	 * @return 
	 */
	private String getFolder(String path) {
		SimpleDateFormat formater = new SimpleDateFormat("yyyyMMdd");
		String ftpDateFilePath=formater.format(new Date());
		String temppath = path;
		path += "/" + ftpDateFilePath;
		
		//KmConfig 获得ftp信息
		KmConfig kmConfig = new KmConfig();
		String ftpHost = kmConfig.getFtpHost();
		int port = kmConfig.getFtpPort();
		String userName = kmConfig.getFtpUser();
		String passWord = kmConfig.getFtpPassword();
		String catelog = kmConfig.getFtpPath();
		String ftppath="ftp://"+userName+":"+passWord+"@"+ftpHost+":"+String.valueOf(port)+"/"+catelog+"/";
		System.out.println(ftppath+path+"/");
		
		FtpClient ftpClient;
		try {
			ftpClient = new FtpClient(ftpHost, port);
			//开启服务   
			ftpClient.login(userName, passWord);// userName、passWord分别为FTP服务器的登陆用户名和密码
			
			ftpClient.cd(catelog); 
			
			//通过远程命令 创建一个文件夹   
			if(false==isDirExist(temppath,ftpClient)){
				ftpClient.sendServer("MKD "+ temppath + " \r\n");  
		        //这个方法必须在 这两个方法中间调用 否则 命令不管用   
		        ftpClient.binary();  
		        ftpClient.readServerResponse(); 
		        ftpClient.cd(temppath); 
			}
			ftpClient.closeServer();
			
			FtpClient ftpClient2 = new FtpClient(ftpHost, port);
			//开启服务   
			ftpClient2.login(userName, passWord);// userName、passWord分别为FTP服务器的登陆用户名和密码
			
			ftpClient2.cd(catelog+"/"+temppath); 
			//创建时间目录
			if(false==isDirExist(ftpDateFilePath,ftpClient2)){
				ftpClient2.sendServer("MKD "+ftpDateFilePath + " \r\n");  
		        //这个方法必须在 这两个方法中间调用 否则 命令不管用   
		        ftpClient2.binary();  
		        ftpClient2.readServerResponse(); 
		        
			}
			ftpClient2.closeServer();
		} catch (Exception e1) {
			e1.printStackTrace();
		}// ftpHost为FTP服务器的IP地址,port为FTP服务器的登陆端口,ftpHost为String型,port为int型。
		
		return ftppath+path;
	}
	/** 
	  * 检查文件夹是否存在 
	  * @param dir 
	  * @param ftpClient 
	  * @return 
	  */ 
		private Boolean isDirExist(String dir, FtpClient ftpClient) { 
	 	 try { 
	   		ftpClient.cd(dir); 
	  	} catch (Exception e) { 
                        e.printStackTrace();
	   		return false; 
	  	} 
	 	 	return true; 
		} 
	


posted @ 2013-10-29 21:43  pangbangb  阅读(593)  评论(0编辑  收藏  举报