FTP文件上传下载

Posted tianwyam

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
    
    

 

以上是关于FTP文件上传下载的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本编写ftp下载文件

用java完成文件ftp上传下载

如何在FTP上实现文件的上传和下载

ftp上传问题,

Java中向ftp上传下载文件

如何将http上的文件远程上传到ftp空间里?