apache ftpserver 使用实例
apache ftp 也提供服务器
相关下载:
ftpserver:http://mina.apache.org/ftpserver/
ftpserver down:http://mina.apache.org/ftpserver/apache-ftpserver-100-release.html
commons-net down:http://commons.apache.org/net/download.html
根据介绍了解到,它是一个%100java简便ftp 服务器容器
需求,之前是经理提出需要使用apache 的commons-net来操作ftp的上传下载签约文件,在与客户交互过程提及自己开发ftpserver 但能力有限,对ftp 协议也不是很了解,就google到 apache ftpserver
但下载apache ftpserver之后发现同http server一样,但我所要求的是使用程序自动开启关闭ftpsever所以需要更进行一步了解下面是简单的例子,希望对其它朋友有一点点帮助:
(以下代码只是doc加了一点中文说明方便自己查看)
apache ftp 也提供服务器
相关下载:
ftpserver:http://mina.apache.org/ftpserver/
ftpserver down:http://mina.apache.org/ftpserver/apache-ftpserver-100-release.html
commons-net down:http://commons.apache.org/net/download.html
根据介绍了解到,它是一个%100java简便ftp 服务器容器
需求,之前是经理提出需要使用apache 的commons-net来操作ftp的上传下载签约文件,在与客户交互过程提及自己开发ftpserver 但能力有限,对ftp 协议也不是很了解,就google到 apache ftpserver
但下载apache ftpserver之后发现同http server一样,但我所要求的是使用程序自动开启关闭ftpsever所以需要更进行一步了解下面是简单的例子,希望对其它朋友有一点点帮助:
(以下代码只是doc加了一点中文说明方便自己查看)
/**
* 操作ftpserver
* @author zhanghuadong
*
*/
public class FtpService {
public static void main(String[] args){
//服务工厂
FtpServerFactory serverFactory = new FtpServerFactory();
//监听
ListenerFactory factory = new ListenerFactory();
// 设置监听端口
factory.setPort(21);
// ssl 相关配置 我自己没有使用
// SslConfigurationFactory ssl = new SslConfigurationFactory();
//根据通过绝对路径,也可以是classpath路径
// ssl.setKeystoreFile(new File("ftpserver.jks"));
// ssl.setKeystorePassword("password");
// set the SSL configuration for the listener
// factory.setSslConfiguration(ssl.createSslConfiguration());
// factory.setImplicitSsl(true);
serverFactory.addListener("default", factory.createListener());
//根据properties提供用户 也可使用DbUserManagerFactory 提供用户,具体查看文件,表结构也给出来了
PropertiesUserManagerFactory userManagerFactory = new PropertiesUserManagerFactory();
//这里只能是绝对路径 ?
userManagerFactory.setFile(new File(FtpService.class.getResource("/").getPath()+"myusers.properties"));
/**使用自己的加密类,因为apache ftp server 使用的是md5 也就是logon之前需把密码加密后才能logon */
userManagerFactory.setPasswordEncryptor(new LocalPassword());
serverFactory.setUserManager(userManagerFactory.createUserManager());
//创建服务并启动
FtpServer server = serverFactory.createServer();
try {
server.start();
} catch (FtpException e) {
e.printStackTrace();
}
}
}