FTP文件上传下载

 

使用Apache Commons Net来实现FTP服务器文件的上传 与 下载

 

maven配置Jar

<!-- https://mvnrepository.com/artifact/commons-net/commons-net -->
<dependency>
    <groupId>commons-net</groupId>
    <artifactId>commons-net</artifactId>
    <version>3.3</version>
</dependency>

 

FTP上传

    /**
     * @Package com.tianya.demo.ftp
     * @Function FtpUtils.java
     * @Description 
     *     上传文件到FTP服务器
     * @author TianwYam
     * @date 2019年6月25日 下午7:11:28
     * @param hostName FTP的IP地址
     * @param port FTP的端口
     * @param userName 登陆FTP服务器的用户名
     * @param password 登陆FTP服务器的密码
     * @param pathName 上传到FTP的目录
     * @param remoteFileName 上传到FTP的文件名称
     * @param localFile 将要上传的本地文件(包括文件目录+文件名)
     * @return 成功true/失败false
     *
     */
    public static boolean put(String hostName, int port,
            String userName, String password,
            String pathName, String remoteFileName,
            String localFile) {
        

        FTPClient ftpClient = new FTPClient();
        try {
            // 连接FTP服务器
            ftpClient.connect(hostName, port);
            // 登陆
            ftpClient.login(userName, password);
            // 切换目录
            ftpClient.changeWorkingDirectory(pathName);
            // 上传
            return ftpClient.storeFile(remoteFileName, new FileInputStream(localFile));
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        return false;
    }
    
    

 

FTP下载

    /**
     * @description 从远程FTP服务器下载文件到本地
     * @author TianwYam
     * @param hostName FTP的IP地址
     * @param port FTP的端口
     * @param userName 登陆FTP的用户名
     * @param password 登陆FTP的用户密码
     * @param pathName 远程文件的路径目录
     * @param remoteFileName 远程文件的文件名称
     * @param localFile 将要下载到本地的文件(包括目录+文件名)
     * @return 成功true/失败false
     */
    public static boolean get(String hostName, int port,
            String userName, String password,
            String pathName, String remoteFileName,
            String localFile)  {
        
        FTPClient ftpClient = new FTPClient();
        try {
            // 连接FTP服务器
            ftpClient.connect(hostName, port);
            // 登陆
            ftpClient.login(userName, password);
            // 切换目录
            ftpClient.changeWorkingDirectory(pathName);
            // 下载
            return ftpClient.retrieveFile(remoteFileName, new FileOutputStream(localFile));
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        return false;
    }
    

 

posted @ 2019-06-25 19:32  吾师语  阅读(273)  评论(0编辑  收藏  举报