java开发中经常会用到ftp上传、下载指定ftp服务器的文件,这里整理一个通过apache的commons-net包访问ftp服务的工具类:
package utils; import java.io.IOException; import java.net.SocketException; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPReply; import org.apache.log4j.Logger; /** * @description * @author minux */ public class FtpUtil { public static final Logger logger = Logger.getLogger(FtpUtil.class); private String hostIp; private int port; private String dir; private String userName; private String password; private static final String DIR_SEPARATOR = "/"; private FTPClient ftpClient; public FtpUtil() { } public FtpUtil(String hostIp, int port, String dir, String userName, String password) { this.hostIp = hostIp; this.port = port; this.dir = dir; this.userName = userName; this.password = password; } /** * 连接FTP-------尝试3次 * * @return */ public boolean getFtpConnection() { int count = 0; boolean isConnected = false; while (count < 3 && !(isConnected = connectFtp())) { count++; logger.info("After a second connection again."); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } return isConnected; } private boolean connectFtp() { try { ftpClient = new FTPClient(); ftpClient.setDataTimeout(30000); ftpClient.setConnectTimeout(10000); ftpClient.connect(hostIp, port); if (!FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) { logger.warn("connect to server [" + hostIp + "] fail. "); ftpClient.disconnect(); return false; } else { logger.info("connect to server [" + hostIp + "] success."); return true; } } catch (SocketException e) { logger.error("ftpHost [" + hostIp + "] is error, please give the correct ip: ", e); return false; } catch (IOException e) { logger.error("ftpPort [" + hostIp + "] is error, please give the correct port: ", e); return false; } } /** * 关闭FTP链接 */ public void closeFtpConnection() { if (ftpClient.isConnected()) { try { ftpClient.disconnect(); } catch (IOException e) { logger.error("close FTPClient error,", e); } } } }
用到的第三方jar:
commons-net-3.3.jar
目前该jar的新版本,老版本(1.4.1)会出现乱码的问题,并且不能设置一些常规参数,比如connectionTimeout(连接超时)
相关推荐
android 访问ftp服务器下载上传文件工具类。
JAVA 搭建FTP图片服务器的方法 服务器搭建方法在类注释里面 文件包括:JAVA端用于访问FTP服务器的方法不需要本地存储图片。文件附带2个所需jar包-commons-net.jar org.springframework.web.jar
FTPClient开发工具类及FTPClient访问文件的部分使用示例
淘淘商城FtpUtil工具类 , 使用java代码访问ftp服务器 使用apache的FTPClient工具访问ftp服务器
这类用户是指在FTP服务器中没有指定帐户,但是其仍然可以进行匿名访问某些公开的资源。 在组建FTP服务器的时候,我们就需要根据用户的类型,对用户进行归类。默认情况下,Vsftpd服务器会把建立的所有帐户都归属为...
xferlog的支持 - 支持UNIX下FTP文件传输xferlog格式的日志,能够直接被如AWStats之类的流量统计工具使用。 MODE Z 支持 - 支持数据传输的实时压缩。 反盗链保护功能 - FTP服务器能够提供反盗链保护功能。
ftp服务上传下载工具类,FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP...
01.程序配置管理辅助类 MyAppConfigHelper.cs 02.实现各种转换的操作辅助类 MyConvertHelper.cs 03.DataReader的辅助类 MyDataReaderHelper.cs 04.DataTable操作辅助类 ...18.FTP操作类辅助类 MyFtpHelper
//初始化和FTP服务器交互的类 // 第一种方式是 FTP方式下载 需要填写host 端口号 账号 和密码 进行链接服务器 // InitFTPServerSetting(); // 第一种方式是 通过访问公网 http 获取html 解析其中的a标签 然后 拼接...
建立自己的海量空间FTP文件服务器工具。只要你能连上互联网,获得独立的IP地址,就可以把你的普通PC机作为一台ftp服务器,向全世界开通属于自己的零费用FTP服务站。如果你是拨号上网,因为流量限制会使访问的人感觉...
这是一个小巧灵活的FTP服务器工具,占用系统资源少。可快速建立小型的FTP服务器,可以方便应用局域网内用户互相传送文件,不用再为如何另外安装FTP服务器上浪费脑筋。 功能说明:1、建立便捷FTP服务器。2、用于局域网...
C# + SQL Server 本系统包括两类用户:学生、管理员。管理员可以通过系统来添加管理员信息、修改管理员信息、添加学生信息、修改学生信息;开设课程、查询课程、录入成绩、统计成绩 管理系统是一种通过计算机技术...
FTP就是一个存放文件的地方,用户通过互联网可以访问FTP,下载和上传文件。有时候我们个人也会用到FTP来共享文件,但是个人FTP站点要怎么做呢?下面是具体的方法: 方法/步骤 点击开始按钮,打开开始菜单,在开始...
写的一个小工具类,可以把我们需要的东西上传上去,别人可以访问,也可以下载。访问地址 ip+8083 。如果我们需要删除的话,可以直接在服务器上面 上传的路径下,删除上传的文件即可。
它用以开发基于网络的可移植的应用程序,功能涉及线程、线程同步、文件系统访问、流操作、共享库和类加载、套接字以及网络协议包括:HTTP、FTP、SMTP 等;其本身还包含一个 HTTP 服务器,提供 XML 的解析和 SQL ...
IE浏览器cookers查看器,浏览器记录查看,按时间顺序显示上网记录,也可以分类显示上网记录,如HTTP访问、FTP访问、本地文件访问等,上网浏览记录一目了然
可以添加2级分类,前台页面可以访问用户可以切换自动播放,并设定时间。 6.添加多媒体文件 支持音乐,视频,FLASH播放,音乐可以添加歌词,并可以设置首页自动播放的音乐。可直接填写网址链接,如果文件太大建议先...
除了匿名访问用户(Anonymous)外,IIS中的FTP将使用Windows 2000自带的用户库(可在“开始→程序→管理工具→计算机管理”中找到“用户”一项来进行用户库的管理)。 最后,关键一步还有就是将你的电脑变为网络中的...
2.Api_Win32_Mac类工具包 一个Win32的Api包,实现了大部分的Api操作帮助方法 3.在c#程序中放音乐的帮助类 使用C#播放音乐的帮助类,只需要调用方法就可以放音乐了 GDI+相关,图像相关1.生成缩略图的类文件Small...
现在市面上有很多 FTP 类的软件,也给大家分享过开源免费的 FileZilla 中文版,收费的 FlashFXP 中文版等等。而今天给大家分享另一款国外的 FTPGetter Professional 中文版。FTPGetter Professional 它可以节省 FTP/...