zoukankan      html  css  js  c++  java
  • Java上传文件FTP服务器代码

    1. 在实际的应用重,通常是通过程序来进行文件的上传。

    2. 实现java上传文件到ftp服务器中

    • 新建maven项目
    • 添加依赖
      <dependency>
              <groupId>commons-net</groupId>
              <artifactId>commons-net</artifactId>
              <version>3.3</version>
          </dependency>

    3.实例代码:

    package com.test.fto.demo;
    
    /**
     * ftp链接常量
     *
     */
    public class Ftp {
    
        private String ipAddr;//ip地址
        
        private Integer port;//端口号
        
        private String userName;//用户名
        
        private String pwd;//密码
        
        private String path;//aaa路径
    
        public String getIpAddr() {
            return ipAddr;
        }
    
        public void setIpAddr(String ipAddr) {
            this.ipAddr = ipAddr;
        }
    
        public Integer getPort() {
            return port;
        }
    
        public void setPort(Integer port) {
            this.port = port;
        }
    
        public String getUserName() {
            return userName;
        }
    
        public void setUserName(String userName) {
            this.userName = userName;
        }
    
        public String getPwd() {
            return pwd;
        }
    
        public void setPwd(String pwd) {
            this.pwd = pwd;
        }
    
        public String getPath() {
            return path;
        }
    
        public void setPath(String path) {
            this.path = path;
        }
        
        
    }

    测试代码:

    package com.test.fto.demo;
    
    import org.apache.commons.net.ftp.FTPClient;
    import org.apache.commons.net.ftp.FTPReply;
    import org.testng.annotations.Test;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    
    public class FtpUtil {
        
        private static FTPClient ftp;
    
        /**
         * 获取ftp连接
         *
         * @param f
         * @return
         * @throws Exception
         */
        public static boolean connectFtp(Ftp f) throws Exception {
            ftp = new FTPClient();
            boolean flag = false;
            int reply;
            if (f.getPort() == null) {
                ftp.connect(f.getIpAddr(), 21);
            } else {
                ftp.connect(f.getIpAddr(), f.getPort());
            }
            ftp.login(f.getUserName(), f.getPwd());
            ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
            reply = ftp.getReplyCode();
            if (!FTPReply.isPositiveCompletion(reply)) {
                ftp.disconnect();
                return flag;
            }
            ftp.changeWorkingDirectory(f.getPath());
            flag = true;
            return flag;
        }
    
        /**
         * 关闭ftp连接
         */
        public static void closeFtp() {
            if (ftp != null && ftp.isConnected()) {
                try {
                    ftp.logout();
                    ftp.disconnect();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    
        /**
         * ftp上传文件
         *
         * @param f
         * @throws Exception
         */
        public static void upload(File f) throws Exception {
            if (f.isDirectory()) {
                ftp.makeDirectory(f.getName());
                ftp.changeWorkingDirectory(f.getName());
                String[] files = f.list();
                for (String fstr : files) {
                    File file1 = new File(f.getPath() + "/" + fstr);
                    if (file1.isDirectory()) {
                        upload(file1);
                        ftp.changeToParentDirectory();
                    } else {
                        File file2 = new File(f.getPath() + "/" + fstr);
                        FileInputStream input = new FileInputStream(file2);
                        ftp.storeFile(file2.getName(), input);
                        input.close();
                    }
                }
            } else {
                File file2 = new File(f.getPath());
                FileInputStream input = new FileInputStream(file2);
                ftp.storeFile(file2.getName(), input);
                input.close();
            }
        }
    
        @Test
        public static void test() throws Exception {
            Ftp f = new Ftp();
            f.setIpAddr("your ip");
            f.setUserName("username");
            f.setPwd("password");
            FtpUtil.connectFtp(f);
            File file = new File("F:/robotium-solo-5.6.1.jar");
            FtpUtil.upload(file);//把文件上传在ftp上
            System.out.println("上传文件完成。。。。");
        }
    
    }
  • 相关阅读:
    69道Java Spring 面试&笔试题
    不少程序员都会遇到的三个问题
    Java中main方面面试题
    学生成绩表(对成绩的操作)
    Eclipse常用快捷键
    java 调用打印机 打印服务
    java 打开浏览器 url
    java 邮件发送 apache commons-email
    java 邮件收发 (只能输入英文,中文需要转码)
    jquery 画板折叠
  • 原文地址:https://www.cnblogs.com/longronglang/p/8724677.html
Copyright © 2011-2022 走看看