使用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. 蓝桥 log大侠

    标题:Log大侠 atm参加了速算训练班,经过刻苦修炼,对以2为底的对数算得飞快,人称Log大侠. 一天,Log大侠的好友 drd 有一些整数序列需要变换,Log大侠正好施展法力... 变换的规则是: ...

  2. Hbuilder快速代码技巧和常用快捷键

    1.在body内输入div.abc按下tab键 效果:<divclass="abc"></div> 2.在body内输入div#abc按下tab键 效果:& ...

  3. [Linux]awk RSTART,RLENGTH

    转自 http://blog.sina.com.cn/s/blog_6d76c7e20102v381.html awk 是一门非常优秀的文本处理工具,甚至可以上升作为一门程序设计语言. 它处理文本的速 ...

  4. isPrototypeOf,instanceof, hasOwnProperty,in的作用与区别

    isPrototypeOf 作用:检测一个对象是否是另一个对象的原型.或者说一个对象是否被包含在另一个对象的原型链中 function Fn(name){ this.name=name; } var ...

  5. IDEA如何切换到括号外

    一般我们输入完括号后都会习惯性Enter或者Shift + Enter切换到括号外,结果却变成了: public void nothing() Enter → public void nothing( ...

  6. Arcgis python输出当前窗口

    import arcpy mxd = arcpy.mapping.MapDocument("CURRENT") mxdfile=arcpy.GetParameterAsText(0 ...

  7. zookeeper备忘

    ZooInspector https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip 参考:https://b ...

  8. 数据结构之双端队列(Deque)

    1,双端队列定义 双端队列:其两端都可以入列和出列的数据结构,如下图所示,队列后面(rear)可以加入和移出数据,队列前面(front)可以加入和移出数据 双端队列操作: deque=Deque() ...

  9. C#计算两个时间年份月份天数(根据生日计算年龄)差,求时间间隔

    C#计算两个时间年份月份差 DateTime dt1 = Convert.ToDateTime("2008-8-8"); DateTime dt2 = System.DateTim ...

  10. css3弹性盒子display:flex

    先看上面的代码,解释一下意思,看你能认识多少(后面有注释): .container { display: flex; //弹性布局 flex-direction: column; //容器内项目的排列 ...