java内嵌ftp服务器
来源:互联网 发布:游戏网络加速器 编辑:程序博客网 时间:2024/06/05 07:07
首先到apache官方下载 ftp服务器 下载地址是
http://mina.apache.org/ftpserver/
解压后 apache-ftpserver-1.0.5/common/lib 下边的jar既是启动ftp的主要jar
一半只需要 如下几个
ftplet-api-1.0.5.jar
ftpserver-core-1.0.5.jar
log4j-1.2.14.jar
mina-core-2.0.0-RC1.jar
slf4j-api-1.5.2.jar
slf4j-log4j12-1.5.2.jar
新建工程 ftpserver 添加类 startFtpServer 代码如下
在ftpserver工程添加文件夹 conf
拷贝 apache-ftpserver-1.0.5/res/conf 下面文件:
users.properties 到 conf目录下
在users.propertis中添加
ftpserver.user.a.userpassword=a
ftpserver.user.a.homedirectory=c://myftp
ftpserver.user.a.enableflag=true
ftpserver.user.a.writepermission=true
ftpserver.user.a.maxloginnumber=0
ftpserver.user.a.maxloginperip=0
ftpserver.user.a.idletime=0
ftpserver.user.a.uploadrate=0
ftpserver.user.a.downloadrate=0
就相当于添加了一个用户a 密码是a
ftpserver中默认 密码被md5加密了
代码中 setPasswordEncryptor 重写了加密方法
import java.io.File;
import org.apache.ftpserver.FtpServer;
import org.apache.ftpserver.FtpServerFactory;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.listener.ListenerFactory;
import org.apache.ftpserver.ssl.SslConfigurationFactory;
import org.apache.ftpserver.usermanager.PasswordEncryptor;
import org.apache.ftpserver.usermanager.PropertiesUserManagerFactory;
public class startFtpServer {
/**
* @param args
* @throws FtpException
*/
public static void main(String[] args) throws FtpException {
// TODO Auto-generated method stub
FtpServerFactory serverFactory = new FtpServerFactory();
ListenerFactory factory = new ListenerFactory();
factory.setPort(21);
// define SSL configuration
/**
* 使用ssl会导致客户端无法连接 SslConfigurationFactory ssl = new
* SslConfigurationFactory(); ssl.setKeystoreFile(new
* File(System.getProperty("user.dir")+"/conf/ftpserver.jks"));
* ssl.setKeystorePassword("password");
* // set the SSL configuration for the listener
* factory.setSslConfiguration(ssl.createSslConfiguration());
* factory.setImplicitSsl(true);
*/
// replace the default listener
serverFactory.addListener("default", factory.createListener());
PropertiesUserManagerFactory userManagerFactory = new PropertiesUserManagerFactory();
userManagerFactory.setFile(new File(System.getProperty("user.dir")
+ "/conf/users.properties"));
userManagerFactory.setPasswordEncryptor(new PasswordEncryptor() {
public String encrypt(String pwd) {
// TODO Auto-generated method stub
return null;
}
//storedPassword 配置文件中配置的密码 passwordToCheck 是用户输入的密码
public boolean matches(java.lang.String passwordToCheck,
java.lang.String storedPassword) {
if (passwordToCheck.equals(storedPassword))
return true;
return false;
}
});
serverFactory.setUserManager(userManagerFactory.createUserManager());
// start the server
FtpServer server = serverFactory.createServer();
server.start();
}
}
下载个客户端 登陆试一下
- java内嵌ftp服务器
- Java实现FTP服务器
- Java构建FTP服务器
- java链接ftp服务器
- 内网IP建ftp服务器
- 局域网内用ServerU建立ftp服务器
- 内网架设FTP服务器(serv-u)
- 图解内网架设ftp服务器
- 内网FTP服务器架设不完全解析
- 内网FTP服务器架设简单解析
- -【Java FTP及FTP服务器搭建】
- [JAVA服务器]用Java实现FTP服务器
- 用Java实现FTP服务器
- 用Java实现FTP服务器
- 用Java实现FTP服务器
- 用Java实现FTP服务器
- 用Java实现FTP服务器
- 用Java实现FTP服务器
- PowerDesigner中批量根据对象的name生成comment的脚本(转)
- TCP三次握手及四次挥手详细图解
- SQL Server 2000 函数
- 关于WEB-INF
- Tomcat6.0连接池配置
- java内嵌ftp服务器
- Kick Ass小游戏
- Berkeley DB 5.0.21目录结构详解
- 【转】[VC/MFC]MSFlexGrid 内嵌控件
- DB2函数
- Linux文件系统解析
- log4j配置使用
- 使用Apache FtpServer搭建FTP服务器
- 获取指定窗口句柄结束进程 OpenProcess FindWindow GetExitCodeprocess TerminateProcess