- 浏览: 2482906 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
nation:
你好,在部署Mesos+Spark的运行环境时,出现一个现象, ...
Spark(4)Deal with Mesos -
sillycat:
AMAZON Relatedhttps://www.godad ...
AMAZON API Gateway(2)Client Side SSL with NGINX -
sillycat:
sudo usermod -aG docker ec2-use ...
Docker and VirtualBox(1)Set up Shared Disk for Virtual Box -
sillycat:
Every Half an Hour30 * * * * /u ...
Build Home NAS(3)Data Redundancy -
sillycat:
3 List the Cron Job I Have>c ...
Build Home NAS(3)Data Redundancy
ftp client的开源实现
首页
http://www.sauronsoftware.it/projects/ftp4j/
下载得到文件
ftp4j-1.3.1.zip
文档库地址
http://www.sauronsoftware.it/projects/ftp4j/manual.php
需要引入的JAR包
<dependency>
<groupId>it.sauronsoftware</groupId>
<artifactId>ftp4j</artifactId>
<version>1.3.1</version>
</dependency>
呵呵,这个JAR是我自己上传到我的MAVEN私服上面滴,其实就是ftp4j-1.3.1.zip里面解开压缩得到的JAR
对于这个东东,也是新鲜而已,参考官方的文档写了个测试,没有测试性能如何,
测试类FtpClientTest.java的全文如下:
package com.sillycat.easyftpclient.client;
import it.sauronsoftware.ftp4j.FTPAbortedException;
import it.sauronsoftware.ftp4j.FTPClient;
import it.sauronsoftware.ftp4j.FTPDataTransferException;
import it.sauronsoftware.ftp4j.FTPException;
import it.sauronsoftware.ftp4j.FTPFile;
import it.sauronsoftware.ftp4j.FTPIllegalReplyException;
import it.sauronsoftware.ftp4j.FTPListParseException;
import java.io.File;
import java.io.IOException;
public class FtpClientTest {
public static void main(String[] args) {
FTPClient client = new FTPClient();
try {
// 连接
client.connect("localhost", 2221);
// 登陆
client.login("admin", "admin");
// 得到当前目录
String dir = client.currentDirectory();
// 列表当前文件
FTPFile[] files = client.list();
if (files != null && files.length > 0) {
for (int i = 0; i < files.length; i++) {
FTPFile f = files[i];
if (f.getName().equalsIgnoreCase("test1")
&& FTPFile.TYPE_DIRECTORY == f.getType()) {
//如果目录test1已经有了,那么删除它
client.deleteDirectory(dir + "/test1");
break;
}
}
}
// 新增目录test1
client.createDirectory(dir + "/test1");
// 进入目录test1
client.changeDirectory(dir + "/test1");
//返回上级目录
client.changeDirectoryUp();
// 上传图片文件
client.upload(new File("E:\\work\\ftp\\upload\\test2.jpg"),new MyTransferListener());
// 上传压缩文件
client.upload(new File("E:\\work\\ftp\\upload\\test3.rar"),new MyTransferListener());
//改名
client.rename("test2.jpg", "cc.jpg");
//移动位置
client.rename("test3.rar", dir + "/test1/dd.rar");
//下载图片
client.download("cc.jpg", new File("E:\\work\\ftp\\download\\cc.jpg"),new MyTransferListener());
//下载压缩文件
client.download(dir + "/test1/dd.rar", new File("E:\\work\\ftp\\download\\dd.rar"),new MyTransferListener());
//删除FTP服务器上文件
client.deleteFile(dir + "/test1/dd.rar");
// 退出
client.logout();
// 释放连接
client.disconnect(true);
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (FTPIllegalReplyException e) {
e.printStackTrace();
} catch (FTPException e) {
e.printStackTrace();
} catch (FTPDataTransferException e) {
e.printStackTrace();
} catch (FTPAbortedException e) {
e.printStackTrace();
} catch (FTPListParseException e1) {
e1.printStackTrace();
}
}
}
下载和上传的时候的监听器MyTransferListener实现FTPDataTransferListener接口
package com.sillycat.easyftpclient.client;
import it.sauronsoftware.ftp4j.FTPDataTransferListener;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class MyTransferListener implements FTPDataTransferListener {
private Log log = LogFactory.getLog(getClass());
public void aborted() {
log.info("abort-----------------");
}
public void completed() {
log.info("complete-----------------");
}
public void failed() {
log.info("fail-----------------");
}
public void started() {
log.info("start-----------------");
}
public void transferred(int length) {
log.info("length---------------: " + length);
}
}
首页
http://www.sauronsoftware.it/projects/ftp4j/
下载得到文件
ftp4j-1.3.1.zip
文档库地址
http://www.sauronsoftware.it/projects/ftp4j/manual.php
需要引入的JAR包
<dependency>
<groupId>it.sauronsoftware</groupId>
<artifactId>ftp4j</artifactId>
<version>1.3.1</version>
</dependency>
呵呵,这个JAR是我自己上传到我的MAVEN私服上面滴,其实就是ftp4j-1.3.1.zip里面解开压缩得到的JAR
对于这个东东,也是新鲜而已,参考官方的文档写了个测试,没有测试性能如何,
测试类FtpClientTest.java的全文如下:
package com.sillycat.easyftpclient.client;
import it.sauronsoftware.ftp4j.FTPAbortedException;
import it.sauronsoftware.ftp4j.FTPClient;
import it.sauronsoftware.ftp4j.FTPDataTransferException;
import it.sauronsoftware.ftp4j.FTPException;
import it.sauronsoftware.ftp4j.FTPFile;
import it.sauronsoftware.ftp4j.FTPIllegalReplyException;
import it.sauronsoftware.ftp4j.FTPListParseException;
import java.io.File;
import java.io.IOException;
public class FtpClientTest {
public static void main(String[] args) {
FTPClient client = new FTPClient();
try {
// 连接
client.connect("localhost", 2221);
// 登陆
client.login("admin", "admin");
// 得到当前目录
String dir = client.currentDirectory();
// 列表当前文件
FTPFile[] files = client.list();
if (files != null && files.length > 0) {
for (int i = 0; i < files.length; i++) {
FTPFile f = files[i];
if (f.getName().equalsIgnoreCase("test1")
&& FTPFile.TYPE_DIRECTORY == f.getType()) {
//如果目录test1已经有了,那么删除它
client.deleteDirectory(dir + "/test1");
break;
}
}
}
// 新增目录test1
client.createDirectory(dir + "/test1");
// 进入目录test1
client.changeDirectory(dir + "/test1");
//返回上级目录
client.changeDirectoryUp();
// 上传图片文件
client.upload(new File("E:\\work\\ftp\\upload\\test2.jpg"),new MyTransferListener());
// 上传压缩文件
client.upload(new File("E:\\work\\ftp\\upload\\test3.rar"),new MyTransferListener());
//改名
client.rename("test2.jpg", "cc.jpg");
//移动位置
client.rename("test3.rar", dir + "/test1/dd.rar");
//下载图片
client.download("cc.jpg", new File("E:\\work\\ftp\\download\\cc.jpg"),new MyTransferListener());
//下载压缩文件
client.download(dir + "/test1/dd.rar", new File("E:\\work\\ftp\\download\\dd.rar"),new MyTransferListener());
//删除FTP服务器上文件
client.deleteFile(dir + "/test1/dd.rar");
// 退出
client.logout();
// 释放连接
client.disconnect(true);
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (FTPIllegalReplyException e) {
e.printStackTrace();
} catch (FTPException e) {
e.printStackTrace();
} catch (FTPDataTransferException e) {
e.printStackTrace();
} catch (FTPAbortedException e) {
e.printStackTrace();
} catch (FTPListParseException e1) {
e1.printStackTrace();
}
}
}
下载和上传的时候的监听器MyTransferListener实现FTPDataTransferListener接口
package com.sillycat.easyftpclient.client;
import it.sauronsoftware.ftp4j.FTPDataTransferListener;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class MyTransferListener implements FTPDataTransferListener {
private Log log = LogFactory.getLog(getClass());
public void aborted() {
log.info("abort-----------------");
}
public void completed() {
log.info("complete-----------------");
}
public void failed() {
log.info("fail-----------------");
}
public void started() {
log.info("start-----------------");
}
public void transferred(int length) {
log.info("length---------------: " + length);
}
}
发表评论
-
Update Site will come soon
2021-06-02 04:10 1609I am still keep notes my tech n ... -
Portainer 2020(4)Deploy Nginx and Others
2020-03-20 12:06 375Portainer 2020(4)Deploy Nginx a ... -
Private Registry 2020(1)No auth in registry Nginx AUTH for UI
2020-03-18 00:56 371Private Registry 2020(1)No auth ... -
Docker Compose 2020(1)Installation and Basic
2020-03-15 08:10 323Docker Compose 2020(1)Installat ... -
VPN Server 2020(2)Docker on CentOS in Ubuntu
2020-03-02 08:04 396VPN Server 2020(2)Docker on Cen ... -
Nginx Deal with OPTIONS in HTTP Protocol
2020-02-15 01:33 296Nginx Deal with OPTIONS in HTTP ... -
PDF to HTML 2020(1)pdftohtml Linux tool or PDFBox
2020-01-29 07:37 339PDF to HTML 2020(1)pdftohtml Li ... -
Elasticsearch Cluster 2019(2)Kibana Issue or Upgrade
2020-01-12 03:25 591Elasticsearch Cluster 2019(2)Ki ... -
Spark Streaming 2020(1)Investigation
2020-01-08 07:19 228Spark Streaming 2020(1)Investig ... -
Hadoop Docker 2019 Version 3.2.1
2019-12-10 07:39 255Hadoop Docker 2019 Version 3.2. ... -
MongoDB 2019(3)Security and Auth
2019-11-16 06:48 201MongoDB 2019(3)Security and Aut ... -
MongoDB 2019(1)Install 4.2.1 Single and Cluster
2019-11-11 05:07 247MongoDB 2019(1) Follow this ht ... -
Monitor Tool 2019(1)Monit Installation and Usage
2019-10-17 08:22 280Monitor Tool 2019(1)Monit Insta ... -
Ansible 2019(1)Introduction and Installation on Ubuntu and CentOS
2019-10-12 06:15 268Ansible 2019(1)Introduction and ... -
Timezone and Time on All Servers and Docker Containers
2019-10-10 11:18 289Timezone and Time on All Server ... -
Kafka Cluster 2019(6) 3 Nodes Cluster on CentOS7
2019-10-05 23:28 235Kafka Cluster 2019(6) 3 Nodes C ... -
K8S Helm(1)Understand YAML and Kubectl Pod and Deployment
2019-10-01 01:21 286K8S Helm(1)Understand YAML and ... -
Rancher and k8s 2019(5)Private Registry
2019-09-27 03:25 320Rancher and k8s 2019(5)Private ... -
Jenkins 2019 Cluster(1)Version 2.194
2019-09-12 02:53 399Jenkins 2019 Cluster(1)Version ... -
Redis Cluster 2019(3)Redis Cluster on CentOS
2019-08-17 04:07 333Redis Cluster 2019(3)Redis Clus ...
相关推荐
FileZilla FTP Client 开源的软件,完全免费,纯绿色,比市面上大部分ftp软件好用
开源库的包名是这个org.apache.commons.net.ftp.FTPClient;是属于局域网的ftp上传,要有ip、端口、用户名以及密码。我根据网上的下载demo,自已研究了一番,又封装了一个类自已使用。欢迎访问博客:...
前端开源库-ftp-clientftp客户机,节点ftp模块的包装器
一个简单的FTP客户端。
基于ucos系统通过lwip实现ftp客户端功能,用于从服务器下载升级程序少些片上flash
FileZilla是一个免费开源的FTP客户端软件,分为客户端版本和服务器版本,具备所有的FTP软件功能。可控性、有条理的界面和管理多站点的简化方式使得Filezilla客户端版成为一个方便高效的FTP客户端工具。
开源软件,支持tftp和ftp server端、client端,方便用户进行文件上传和下载
FileZilla FTP Client 是一个个免费开源的FTP软件 具备所有的FTP软件功能。可控性、有条理的界面和管理多站点的简化方式使得Filezilla客户端版成为一个方便高效的FTP客户端工具
Yafc是一个开放源代码控制台模式FTP客户端。 它支持Kerberos 4/5身份验证和sftp(ssh2)。 其他功能包括制表符完成,目录缓存,强大的别名,递归文件命令和具有自动登录功能的书签。
一个用Python编写的用户友好,菜单驱动的FTP客户端。
N年前写的FTP客户端,练习程序,支持常用命令,支持PASV与PORT模式 对应的服务器端为: http://download.csdn.net/source/2724443
PHP FTP CLIENT是ftp客户端,它通过HTTP接口运行。
MJftp是使用纯Java编写的开源多平台ftp客户端。
Ftp 客户端控制台应用程序设计用于资源有限的设备,如 Windows CE。 实现常见的ftp功能以及一些额外的功能,例如批量上传/下载文件。 它应该适用于大多数 Windows CE 平台和普通 Windows。
用edtftpj.jar 实现的ftp client edtFTPj是一个非常强大的FTP组件,有Java版本、.NET版本、JavaScript版本。 Java版本的有收费的edtFTPj/PRO,还有免费开源的edtFTPj/Free。 这里使用edtFTPj/Free。 ...
这个项目打算给大家用Java编写的ftp客户端。 当前,FtpGUI实现了常用功能。 获取-RETR检索ftp服务器上的文件列表文件,放置-STOR-上传文件,然后搜索名称
这是FTP客户端协议的纯.Net实现。 它旨在同时在Microsoft的.Net CLR和Mono CLR中运行。
这是一个用Perl编写的小型FTP客户端,它打算在终端中使用。 根据GNU GPL V3许可证发布的软件。