最近的项目中需要向客户服务器上传清算文件,用到了ftp,现简单记录如下:
ftp文件上传方法代码:
public boolean uploadFiles(String[] fileList, String filename) {
// 设置标志位
boolean flag = true;
FTPClient ftp = null;
try {
ftp = new FTPClient();
// 设置服务器的地址
ftp.setRemoteHost(host);
// 设置编码
ftp.setControlEncoding("GB2312");
FTPMessageCollector listener = new FTPMessageCollector();
ftp.setMessageListener(listener);
// 连接服务器
ftp.login(username, password);
// 设置ftp服务器上文件的传输模式
ftp.setConnectMode(FTPConnectMode.ACTIVE);
ftp.setType(FTPTransferType.BINARY);
// 获取文件第一参数是本地文件名,第二个位远程FTP文件名
for (int i = 0; i < fileList.length; i++) {
String curfilename = fileList[i];
if (curfilename != null) {
ftp.put(downFile + curfilename, pathFile + curfilename);
}
}
ftp.quit();
String message = listener.getLog();
System.out.println(message);
} catch (Exception e) {
flag = false;
System.out.println(e.getMessage());
}
return flag;
}
其中,fileList是文件名列表,filename是上传之后文件的名字,pathFile是需要上传的服务器地址,写在了配置文件里面。