使用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文件上传下载的更多相关文章

  1. Python 基于Python实现Ftp文件上传,下载

    基于Python实现Ftp文件上传,下载   by:授客 QQ:1033553122 测试环境: Ftp客户端:Windows平台 Ftp服务器:Linux平台 Python版本:Python 2.7 ...

  2. 【FTP】FTP文件上传下载-支持断点续传

    Jar包:apache的commons-net包: 支持断点续传 支持进度监控(有时出不来,搞不清原因) 相关知识点 编码格式: UTF-8等; 文件类型: 包括[BINARY_FILE_TYPE(常 ...

  3. java/struts/Servlet文件下载与ftp文件上传下载

    1.前端代码 使用超链接到Struts的Action或Servlet <a target="_blank" href="ftpFileAction!download ...

  4. python 实现远端ftp文件上传下载

    python 实现ftp上传下载 * 脚本需要传入两个参数,参数1为需要从远端ftp站点下载文件名称,参数2为已知需要下载的文件md5值,文件下载完成后会自动进行md5值校验 * 运行示例 [root ...

  5. java实现ftp文件上传下载,解决慢,中文乱码,多个文件下载等问题

    //文件上传 public static boolean uploadToFTP(String url,int port,String username,String password,String ...

  6. 4.1 - FTP文件上传下载

    题目:开发一个支持多用户同时在线的FTP程序要求:1.用户加密认证2.允许同时多用户登录3.每个用户有自己的家目录,且只能访问自己的家目录4.对用户进行磁盘配额,每个用户的可用空间不同5.允许用户在f ...

  7. ftp文件上传下载命令

    介绍:从本地以用户wasqry登录的机器1*.1**.21.67上通过ftp远程登录到ftp服务器上,登录用户名是lte****,以下为使用该连接做的实验.  查看远程ftp服务器上用户lte**** ...

  8. ftp文件上传下载实用命令

    连接 >ftp yourhost >user yourusername >password your password 顺利的话连接成功 >dir ;获取remote目录列表 ...

  9. Java 利用Apache Commons Net 实现 FTP文件上传下载

    package woxingwosu; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ...

  10. 3.2 - FTP文件上传下载

    题目:开发一个支持多用户同时在线的FTP程序要求:1.用户加密认证2.允许同时多用户登录3.每个用户有自己的家目录,且只能访问自己的家目录4.对用户进行磁盘配额,每个用户的可用空间不同5.允许用户在f ...

随机推荐

  1. JS如何实现在微信中调用外部浏览器打开指定链接

    使用方法,复制以下贴到index.php 顶部就可以了.场景 比如网页包含视频播放  在QQ\WX打开QQ\WX直接调用自己的播放器播放,而且播放完成还有AD推送,非常恶心,所以有了以下代码有乱码的话 ...

  2. [linux]kali apt-get 安装mysql

    环境: Linux kali 4.18.0-kali2-amd64 #1 SMP Debian 4.18.10-2kali1 (2018-10-09) x86_64 GNU/Linux 本来是想要装m ...

  3. free 内存检测

    free打印出的内存信息主要分为两种,一种是安装的内存,一种是用磁盘虚拟的内存,就是这里的Swap,相信装过Linux系统的同学肯定不陌生交换分区,这里Swap大小就是我们分区的时候分配的大小. 下面 ...

  4. js off动画事件

    每个假期都过得如此快10月一是2017年最后一个假期.不由感叹时间过得真快.我已上个月离职,一直在家休整,今天得空吧前几天学习的知识真理一下. 今天主要整理关于,offset系列的,动画是咱们全都工作 ...

  5. Elasticsearch删除数据之_delete_by_query

    es参考版本:elasticsearch:5.5 _delete_by_query会删除所有query语句匹配上的文档,用法如下: curl -X POST "localhost:9200/ ...

  6. WIN7系统TortoiseSVN右键没有菜单解决办法

    TortoiseSVN右键菜单不显示解决办法,亲测有效.其他操作系统解决办法类似,如有问题,给我留言. 百度经验:jingyan.baidu.com 工具/原料   TortoiseSVN 百度经验: ...

  7. ubuntu18.04安装mysql以及重置密码创建新用户

    1.安装mysqlsudo apt-get install mysql-serversudo apt-get install mysql-clientsudo apt-get install libm ...

  8. [Mybatis]查询Sql得到一个字符串

    // find min date HashMap<String, String> minDateMap = new HashMap<String, String>(); min ...

  9. DeviceUtils

    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> import androi ...

  10. Google Protocol Buffer 用法 C#

    在网上查了一下,虽然有很多文章介绍Protocol Buffer,但是实际使用起来,还是会遇到很多问题,所以我想应该有一个指南一样的东西,让新手很快就能使用它. Protocol Buffer简写为P ...