一共三个类,一个工具类Ftputil.,一个实体类Kmconfig。一个测试类Test
下载地址:http://download.csdn.net/detail/myfmyfmyfmyf/6697107
Ftputil类---------------
- package ftpDemo;
-
- import java.io.DataOutputStream;
- import java.io.InputStream;
- import java.io.OutputStream;
-
- import sun.net.TelnetInputStream;
- import sun.net.TelnetOutputStream;
- import sun.net.ftp.FtpClient;
-
-
-
- public class ftpUtil {
-
- public static void upLoadFileFtp(KmConfig kmConfig,InputStream is, String fileName){
-
- try {
- String ftpHost = kmConfig.getFtpHost();
- int port = kmConfig.getFtpPort();
- String userName = kmConfig.getFtpUser();
- String passWord = kmConfig.getFtpPassword();
- String path = kmConfig.getFtpPath();
-
-
- FtpClient ftpClient = new FtpClient(ftpHost, port);
- ftpClient.login(userName, passWord);
- ftpClient.binary();
- ftpClient.cd(path);
-
- TelnetOutputStream telnetOut = ftpClient.put(fileName);
- DataOutputStream dataOut = new DataOutputStream(telnetOut);
- byte buffer[] = new byte[1024 * 1024];
- int count = 0;
- while ((count = is.read(buffer)) != -1) {
- dataOut.write(buffer, 0, count);
- }
- telnetOut.close();
- dataOut.close();
- ftpClient.closeServer();
- } catch (Exception e) {
- System.out.println("上传文件失败!请检查系统FTP设置,并确认FTP服务启动");
- }
- }
-
-
- public static void deleteFileFtp(KmConfig kmConfig,String fileName){
- try {
- String ftpHost = kmConfig.getFtpHost();
- int port = kmConfig.getFtpPort();
- String userName = kmConfig.getFtpUser();
- String passWord = kmConfig.getFtpPassword();
- String path = kmConfig.getFtpPath();
-
- FtpClient ftpClient = new FtpClient(ftpHost, port);
- ftpClient.login(userName, passWord);
- ftpClient.binary();
- ftpClient.cd(path);
- try {
- ftpClient.sendServer("dele " + fileName + "\r\n");
- } catch (Exception e) {
- System.out.println("删除文件失败!请检查系统FTP设置,并确认FTP服务启动");
- }
- ftpClient.closeServer();
- } catch (Exception e) {
- System.out.println("删除文件失败!");
- }
- }
-
-
- public static void downloadFileFtp(KmConfig kmConfig,String fileName, String clientFileName, OutputStream outputStream){
- try {
- String ftpHost = kmConfig.getFtpHost();
- int port = kmConfig.getFtpPort();
- String userName = kmConfig.getFtpUser();
- String passWord = kmConfig.getFtpPassword();
- String path = kmConfig.getFtpPath();
-
- FtpClient ftpClient = new FtpClient(ftpHost, port);
- ftpClient.login(userName, passWord);
- ftpClient.binary();
- ftpClient.cd(path);
- try {
- TelnetInputStream in = ftpClient.get(fileName);
- byte[] bytes = new byte[1024];
- int cnt=0;
- while ((cnt=in.read(bytes,0,bytes.length)) != -1) {
- outputStream.write(bytes, 0, cnt);
- }
- outputStream.close();
- in.close();
- } catch (Exception e) {
- ftpClient.closeServer();
- e.printStackTrace();
- }
- ftpClient.closeServer();
- } catch (Exception e) {
- System.out.println("下载文件失败!请检查系统FTP设置,并确认FTP服务启动");
- }
- }
-
-
- public boolean createDir(String path,FtpClient ftpClient) throws Exception{
-
-
-
- ftpClient.cd("/home");
-
-
-
-
- ftpClient.sendServer("MKD "+ path + "\r\n");
-
- ftpClient.binary();
- ftpClient.readServerResponse();
-
- return false;
- }
-
-
-
- public boolean isDirExist(String dir, FtpClient ftpClient) {
- try {
- ftpClient.cd(dir);
- } catch (Exception e) {
-
- return false;
- }
- return true;
- }
-
- }
Kmconfig类---------------
- package ftpDemo;
-
- public class KmConfig {
-
- private String FtpHost = "";
-
- private int FtpPort;
-
- private String FtpUser = "";
-
- private String FtpPassword = "";
-
- private String FtpPath = "";
- public String getFtpHost() {
- return FtpHost;
- }
- public void setFtpHost(String ftpHost) {
- FtpHost = ftpHost;
- }
- public int getFtpPort() {
- return FtpPort;
- }
- public void setFtpPort(int ftpPort) {
- FtpPort = ftpPort;
- }
- public String getFtpUser() {
- return FtpUser;
- }
- public void setFtpUser(String ftpUser) {
- FtpUser = ftpUser;
- }
- public String getFtpPassword() {
- return FtpPassword;
- }
- public void setFtpPassword(String ftpPassword) {
- FtpPassword = ftpPassword;
- }
- public String getFtpPath() {
- return FtpPath;
- }
- public void setFtpPath(String ftpPath) {
- FtpPath = ftpPath;
- }
-
-
-
- }
Test类---------------
- package ftpDemo;
-
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.InputStream;
-
- public class Test {
- public static void main(String[] args) {
-
- KmConfig km = new KmConfig();
- km.setFtpHost("172.20.32.48");
- km.setFtpPort(21);
- km.setFtpUser("test");
- km.setFtpPassword("111111");
- km.setFtpPath("KM");
-
-
- ftpUtil util=new ftpUtil();
- File file = new File("F:/文章2.jpg");
- InputStream in;
- try {
- in = new FileInputStream(file);
- util.upLoadFileFtp(km, in, "更改后的名字.jpg");
- } catch (FileNotFoundException e) {
-
- e.printStackTrace();
- }
-
-
-
-
- }
- }
java上传、下载、删除ftp文件
原文:http://www.cnblogs.com/likeju/p/5108808.html