Windows7搭建FTP服务器

来源:互联网 发布:ps自学书籍推荐知乎 编辑:程序博客网 时间:2024/05/16 16:57

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

 

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

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

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

界面

下一步

下一步

1.4 查看FTP是否部署成功

完成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 测试

成功。完成。

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

原创粉丝点击