这个工具类我没用过,应该是同事有谁用了,写的。看了一遍感觉有点儿不太合理。不过先就这样吧。等以后用了copy下来再改。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.MalformedURLException;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
public class FtpUtil
{
// ftp服务器地址
public String hostname = "192.168.1.121";
// ftp服务器端口号默认为21
public Integer port = 21;
// ftp登录账号
public String username = "sys";
// ftp登录密码
public String password = "sys";
public FTPClient ftpClient = null;
/**
* 初始化ftp服务器
*/
public void initFtpClient()
{
ftpClient = new FTPClient();
ftpClient.setControlEncoding("utf-8");
try
{
System.out.println("connecting...ftp服务器:" + this.hostname + ":" + this.port);
ftpClient.connect(hostname, port); // 连接ftp服务器
ftpClient.login(username, password); // 登录ftp服务器
int replyCode = ftpClient.getReplyCode(); // 是否成功登录服务器
if (!FTPReply.isPositiveCompletion(replyCode))
{
System.out.println("connect failed...ftp服务器:" + this.hostname + ":" + this.port);
}
System.out.println("connect successfu...ftp服务器:" + this.hostname + ":" + this.port);
} catch (MalformedURLException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
}
/**
* 上传文件
*
* @param pathname
* ftp服务保存地址
* @param fileName
* 上传到ftp的文件名
* @param originfilename
* 待上传文件的名称(绝对地址) *
* @return
*/
public boolean uploadFile(String pathname, String fileName, String originfilename)
{
boolean flag = false;
InputStream inputStream = null;
try
{
System.out.println("开始上传文件");
inputStream = new FileInputStream(new File(originfilename))