您的位置:首页 > 编程语言 > Java开发

ftp文件上传,Java上传

2016-07-21 16:02 393 查看
package com.gx.ftp;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;

import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;

public class TestFtp {

public static void main(String[] args) {
String path = "D:/upLoadFiles/APTransferPlan/1a4f74a0-f6ac-4e91-8225-3dca5a7ccad1";
String filename = "02.jpg";
String name = null;
try {
name = new String(filename.getBytes("GBK"), "iso-8859-1"); // 处理上传到ftp上的文件名不能为中文的问题
FileInputStream in = new FileInputStream(new File(path));
boolean flag = uploadFile("127.0.0.1", 21, "test", "1","E:/ftptest", name, in);

System.out.println(flag);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
}

}

/**
* 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, int port, String username,
String password, String path, String filename, InputStream input) {
boolean success = false;
FTPClient ftp = new FTPClient();
try {
int reply;
ftp.connect(url, port);// 连接FTP服务器
ftp.login(username, password);// 登录
reply = ftp.getReplyCode();
//处理上传到ftp的文件打不开,图片破损等问题
ftp.setFileType(FTP.BINARY_FILE_TYPE);
ftp.setControlEncoding("GBK");

if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}
ftp.changeWorkingDirectory(path);
ftp.storeFile(filename, input);
input.close();
ftp.logout();
success = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return success;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  文件 上传 ftp