public static boolean uploadFile(String url, int port, String username,
String password, String path, String filename, FileInputStream input) {
log.debug("url========="+url);
log.debug("port========="+port);
log.debug("username========="+username);
log.debug("password========="+password);
log.debug("path========="+path);
log.debug("filename========="+filename);
boolean success = false;
FTPClient ftp = new FTPClient();
try {
int reply;
// 连接FTP服务器
if (port > -1) {
ftp.connect(url, port);
} else {
ftp.connect(url);
}
// 登录FTP
ftp.login(username, password);
reply = ftp.getReplyCode();
//System.out.println("reply==================="+reply);
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
ftp.setBufferSize(100000);
if (!ftp.changeWorkingDirectory(path)){
ftp.makeDirectory(path);
}
ftp.changeWorkingDirectory(path);
long t1 = System.currentTimeMillis();
ftp.enterRemotePassiveMode();
boolean bb = ftp.storeFile(filename, input);
System.out.println("bb=============="+bb);
long t2 = System.currentTimeMillis();
log.debug("Time========="+(t2 - t1));
System.out.println("Time:" + (t2 - t1));
input.close();
ftp.logout();
success = true;
} catch (IOException e) {
success = false;
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return success;
}