1.Windows7搭建FTP服务器

1.1 首先新建一个用户,用于登录FTP进行操作,步骤:开始\控制面板\用户帐户和家庭安全\用户帐户\管理帐户\新建账户

java 创建ftp服务器地址 java搭建ftp服务器_java 创建ftp服务器地址

java 创建ftp服务器地址 java搭建ftp服务器_java 创建ftp服务器地址_02

 

1.2创建用户完成后我们开始添加IIS程序服务;进入控制面板\程序\打开或关闭Windows功能

java 创建ftp服务器地址 java搭建ftp服务器_java 创建ftp服务器地址_03

java 创建ftp服务器地址 java搭建ftp服务器_服务器_04

java 创建ftp服务器地址 java搭建ftp服务器_上传文件_05

然后点击打开在FTP服务器前面打勾,也就是把其子菜单的FTP服务和FTP扩展性打勾

1.3 创建FTP站点;进入控制面板\选择管理工具\信息服务管理器\添加站点

java 创建ftp服务器地址 java搭建ftp服务器_文件名_06

java 创建ftp服务器地址 java搭建ftp服务器_上传文件_07

java 创建ftp服务器地址 java搭建ftp服务器_上传文件_08

界面

java 创建ftp服务器地址 java搭建ftp服务器_服务器_09

下一步

java 创建ftp服务器地址 java搭建ftp服务器_服务器_10

下一步

java 创建ftp服务器地址 java搭建ftp服务器_服务器_11

1.4 查看FTP是否部署成功

java 创建ftp服务器地址 java搭建ftp服务器_java 创建ftp服务器地址_12

java 创建ftp服务器地址 java搭建ftp服务器_java 创建ftp服务器地址_13

完成FTP服务器的搭建。

资料http://jingyan.baidu.com/article/dca1fa6f479469f1a4405292.html

2.java上传下载FTP服务器文件

2.1 上传文件

/**
	 * 上传文件
	 * @param hostname  ftp服务器地址
	 * @param port      ftp服务器端口号
	 * @param username  ftp登录账号
	 * @param password  ftp登录密码
	 * @param pathname  ftp服务保存地址
	 * @param fileName  上传到ftp的文件名
	 * @param inputStream 输入文件流
	 * @return
	 */
	public static boolean uploadFile(String hostname, int port, String username, 
			 String password, String pathname, String fileName, InputStream inputStream){
		boolean flag = false;
		FTPClient  ftpClient = new FTPClient();
		ftpClient.setControlEncoding("utf-8");
		try{
			ftpClient.connect(hostname, port); //连接ftp服务器
			ftpClient.login(username, password);  //登录ftp服务器
			int replyCode = ftpClient.getReplyCode(); //是否成功登录服务器
			if(!FTPReply.isPositiveCompletion(replyCode)){
				return flag;
			}
			ftpClient.setFileType(ftpClient.BINARY_FILE_TYPE);
			ftpClient.makeDirectory(pathname);
			ftpClient.changeWorkingDirectory(pathname);
			ftpClient.storeFile(fileName, inputStream);
			inputStream.close();
			ftpClient.logout();
			flag = true;
		}catch (Exception e) {
			e.printStackTrace();
		}finally{
			if(ftpClient.isConnected()){
				try{
					ftpClient.disconnect();
				}catch(IOException e){
					e.printStackTrace();
				}
			}

		}
		return true;
	}
	/**  * 上传文件(可对文件进行重命名)  * 
	 * @param hostname FTP服务器地址  * 
	 * @param port FTP服务器端口号  * 
	 * @param username FTP登录帐号  * 
	 * @param password FTP登录密码  * 
	 * @param pathname FTP服务器保存目录  * 
	 * @param filename 上传到FTP服务器后的文件名称  * 
	 * @param originfilename 待上传文件的名称(绝对地址)  * 
	 * @return  */ 
	public static boolean uploadFileFromProduction(String hostname, int port, String username, 
			String password, String pathname, String filename, String originfilename){  
		boolean flag = false; 
		try {  
			InputStream inputStream = new FileInputStream(new File(originfilename));  
			flag = uploadFile(hostname, port, username, password, pathname, filename, inputStream);   
			} catch (Exception e) {  
				e.printStackTrace();  
			}  
		return flag;  
	} 
	/** 上传文件(不可以进行文件的重命名操作)  *
	 *  @param hostname FTP服务器地址  *
	 *  @param port FTP服务器端口号  *
	 *  @param username FTP登录帐号  *
	 *  @param password FTP登录密码  * 
	 *  @param pathname FTP服务器保存目录  * 
	 *  @param originfilename 待上传文件的名称(绝对地址)  * 
	 *  @return  */ 
	public static boolean uploadFileFromProduction(String hostname, int port, String username,
			String password, String pathname, String originfilename){  
		boolean flag = false;  
		try {  
			String fileName = new File(originfilename).getName();  
			InputStream inputStream = new FileInputStream(new File(originfilename));  
			flag = uploadFile(hostname, port, username, password, pathname, fileName, inputStream);   
			} catch (Exception e) {  
				e.printStackTrace();  
			}  
		return flag;  
	}

2.2下载文件

/** * 下载文件 * 
	 * @param hostname FTP服务器地址  * 
	 * @param port FTP服务器端口号  * 
	 * @param username FTP登录帐号  * 
	 * @param password FTP登录密码  * 
	 * @param pathname FTP服务器文件目录  * 
	 * @param filename 文件名称  * 
	 * @param localpath 下载后的文件路径  * 
	 * @return  */
	public static boolean downloadFile(String hostname, int port, String username, 
			String password, String pathname, String filename, String localpath){  
		boolean flag = false;  
		FTPClient ftpClient = new FTPClient();  
		try {  
			//连接FTP服务器  
			ftpClient.connect(hostname, port);  
			//登录FTP服务器  
			ftpClient.login(username, password);  
			//验证FTP服务器是否登录成功  
			int replyCode = ftpClient.getReplyCode();  
			if(!FTPReply.isPositiveCompletion(replyCode)){  
				return flag;  
				}  
			//切换FTP目录 
			ftpClient.changeWorkingDirectory(pathname);  
			FTPFile[] ftpFiles = ftpClient.listFiles();  
			for(FTPFile file : ftpFiles){  
				if(filename.equalsIgnoreCase(file.getName())){  
					File localFile = new File(localpath + "/" + file.getName());  
					OutputStream os = new FileOutputStream(localFile);  
					ftpClient.retrieveFile(file.getName(), os);  
					os.close();  
					}  
				} 
			ftpClient.logout();  
			flag = true;  
		} catch (Exception e) {  
			e.printStackTrace();  
		} finally{  
			if(ftpClient.isConnected()){ 
				try {  ftpClient.logout();  
				} catch (IOException e) {  

				} 			}  
		}  return flag; 
	}

1.3 删除文件

/** * 删除文件 * 
	  * @param hostname FTP服务器地址  * 
	  * @param port FTP服务器端口号  * 
	  * @param username FTP登录帐号  * 
	  * @param password FTP登录密码  * 
	  * @param pathname FTP服务器保存目录  * 
	  * @param filename 要删除的文件名称  * 
	  * @return  */ 
	public static boolean deleteFile(String hostname, int port, String username, String password, 
			String pathname, String filename){  
		boolean flag = false;  
		FTPClient ftpClient = new FTPClient();  
		try {  
			//连接FTP服务器  
			ftpClient.connect(hostname, port);  
			//登录FTP服务器  
			ftpClient.login(username, password);  
			//验证FTP服务器是否登录成功  
			int replyCode = ftpClient.getReplyCode();  
			if(!FTPReply.isPositiveCompletion(replyCode)){  
				return flag;  
			}  
			//切换FTP目录  
			ftpClient.changeWorkingDirectory(pathname);  
			ftpClient.dele(filename);  
			ftpClient.logout();  
			flag = true;  
		} catch (Exception e) {  
			e.printStackTrace();  
		} finally{  
			if(ftpClient.isConnected()){  
				try {  
					ftpClient.logout();  
					} catch (IOException e) {     

					}  
				}  
			}  
		return flag;  
	}

3.4 测试

java 创建ftp服务器地址 java搭建ftp服务器_java 创建ftp服务器地址_14

java 创建ftp服务器地址 java搭建ftp服务器_文件名_15

成功。完成。

参考:http://www.jb51.net/article/98032.htm