public?class?FtpUtils?{
/**
*?上傳
*?@param?host?FTP地址
*?@param?port?端口ftp默認22,sftp默認23
*?@param?user?ftp用戶名
*?@param?pwd?ftp密碼
*?@param?destPath?FTP文件保存路徑
*?@param?fileName?ftp保存文件名稱
*?@param?file?需要上傳的文件
*/
public?static?void?upload(String?host,?int?port,String?user,?String?pwd,?String?destPath,?String?fileName,?File?file){
FTPClient?ftp?=?null;
InputStream?fis?=?null;
try?{
//1.建立連接
ftp?=?new?FTPClient();
ftp.connect(host,?port);
//2.驗證連接地址
int?reply?=?ftp.getReplyCode();
if(FTPReply.isPositiveCompletion(reply)){
ftp.disconnect();
return;
}
//3.登錄
ftp.login(user,?pwd);
//設置上傳路徑、緩存、字符集、文件類型等
ftp.changeWorkingDirectory(destPath);
ftp.setBufferSize(1024);
ftp.setControlEncoding("UTF-8");
ftp.setFileType(FTP.BINARY_FILE_TYPE);
//4.上傳
fis?=?new?FileInputStream(file);
ftp.storeFile(fileName,?fis);
}?catch?(SocketException?e)?{
e.printStackTrace();
}?catch?(IOException?e)?{
e.printStackTrace();
}finally{
IOUtils.closeQuietly(fis);
try?{
if(ftp.isAvailable()){
ftp.logout();
}
if(ftp.isConnected()){
ftp.disconnect();
}
//刪除上傳臨時文件
if(null?!=?file?&&?file.exists()){
file.delete();
}
}?catch?(IOException?e)?{
e.printStackTrace();
}
}
}
}