在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件、下载文件。本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件。
1、写一个javabean文件,描述ftp上传或下载的信息
public class FtpUseBean {
private String host;
private Integer port;
private String userName;
private String password;
private String ftpSeperator;
private String ftpPath="";
private int repeatTime = 0;//连接ftp服务器的次数
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public Integer getPort() {
return port;
}
public void setPort(Integer port) {
this.port = port;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public void setFtpSeperator(String ftpSeperator) {
this.ftpSeperator = ftpSeperator;
}
public String getFtpSeperator() {
return ftpSeperator;
}
public void setFtpPath(String ftpPath) {
if(ftpPath!=null)
this.ftpPath = ftpPath;
}
public String getFtpPath() {
return ftpPath;
}
public void setRepeatTime(int repeatTime) {
if (repeatTime > 0)
this.repeatTime = repeatTime;
}
public int getRepeatTime() {
return repeatTime;
}
/**
* take an example:<br>
* ftp://userName:password@ip:port/ftpPath/
* @return
*/
public String getFTPURL() {
StringBuffer buf = new StringBuffer();
buf.append("ftp://");
buf.append(getUserName());
buf.append(":");
buf.append(getPassword());
buf.append("@");
buf.append(getHost());
buf.append(":");
buf.append(getPort());
buf.append("/");
buf.append(getFtpPath());
return buf.toString();
}
}
2、导入包commons-net-1.4.1.jar
package com.util;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.i