- package xxx;
- import java.io.IOException;
- import java.io.InputStream;
- import org.apache.commons.net.ftp.FTPClient;
- import org.apache.commons.net.ftp.FTPReply;
- import org.apache.log4j.Logger;
- public class FtpUploadUtil {
- private static final Logger logger = Logger.getLogger(FtpUploadUtil.class);
- /**
- * Description: 向FTP服务器上传文件
- * @param url FTP服务器hostname
- * @param port FTP服务器端口
- * @param username FTP登录账号
- * @param password FTP登录密码
- * @param path FTP服务器保存目录
- * @param filename 上传到FTP服务器上的文件名
- * @param input 输入流
- * @return 成功返回true,否则返回false
- */
- public static boolean uploadFile(String url, String port, String username, String password, String path,
- String filename, InputStream input) {
- boolean returnValue = false;
- FTPClient ftp = new FTPClient();
- try {
- int reply;
- // 判断是否使用默认端口
- if (CMCts.EMP.equals(port)) {
- ftp.connect(url);
- } else {
- int portNO = Integer.parseInt(port);
- ftp.connect(url, portNO);// 连接FTP服务器
- }
- ftp.login(username, password);// 登录
- reply = ftp.getReplyCode();
- if (!FTPReply.isPositiveCompletion(reply)) {
- ftp.disconnect();
- logger.info("FTP SERVER REFUSED CONNECTION.");
- return returnValue;
- }
- ftp.changeWorkingDirectory(path);
- ftp.storeFile(filename, input);
- input.close();
- ftp.logout();
- returnValue = true;
- } catch (IOException e) {
- logger.info("FTPUPLOADUTIL UPLOD FILE ERROR :" + e);
- e.printStackTrace();
- } finally {
- if (ftp.isConnected()) {
- try {
- ftp.disconnect();
- } catch (IOException ioe) {
- }
- }
- }
- return returnValue;
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/060820134985.html
来源: http://www.codesnippet.cn/detail/060820134985.html