Class FtpServer

java.lang.Object
org.aoju.bus.extra.ftp.FtpServer

public class FtpServer extends Object
基于 Apache FtpServer的服务端简单封装
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Summary

    Constructors
    Constructor
    Description
    构造
  • Method Summary

    Modifier and Type
    Method
    Description
    addAnonymous(String homePath)
    添加匿名用户
    addFtplet(String name, org.apache.ftpserver.ftplet.Ftplet ftplet)
    增加FTP动作行为监听处理器,通过实现Ftplet,可以对用户的行为监听并执行相应动作
    addUser(org.apache.ftpserver.ftplet.User user)
    增加FTP用户
    static FtpServer
    创建FTP服务器,调用start()启动即可
    delUser(String userName)
    删除用户
    org.apache.ftpserver.listener.ListenerFactory
    获取ListenerFactory,用于设置端口、用户、SSL等信息
    org.apache.ftpserver.FtpServerFactory
    获取 FtpServerFactory,用于设置FTP服务器相关信息
    org.apache.ftpserver.ftplet.UserManager
    获取用户管理器,用于新增、查找和删除用户信息
    setConnectionConfig(org.apache.ftpserver.ConnectionConfig connectionConfig)
    设置连接相关配置,使用ConnectionConfigFactory创建ConnectionConfig对象
    setPort(int port)
    自定义默认端口,如果不设置,使用默认端口:21
    setSsl(File keystoreFile, String password)
    使用SSL安全连接
    setSsl(org.apache.ftpserver.ssl.SslConfiguration ssl)
    使用SSL安全连接,可以使用SslConfigurationFactory创建SslConfiguration
    setUserManager(org.apache.ftpserver.ftplet.UserManager userManager)
    自定义用户管理器,一般用于使用配置文件配置用户信息
    setUsersConfig(File propertiesFile)
    自定义用户信息配置文件,此方法会重置用户管理器
    void
    启动FTP服务,阻塞当前线程 一个Listener对应一个监听端口 可以创建多个监听,此处默认只监听一个

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • FtpServer

      public FtpServer()
      构造
  • Method Details

    • create

      public static FtpServer create()
      创建FTP服务器,调用start()启动即可
      Returns:
      SimpleFtpServer
    • getServerFactory

      public org.apache.ftpserver.FtpServerFactory getServerFactory()
      获取 FtpServerFactory,用于设置FTP服务器相关信息
      Returns:
      FtpServerFactory
    • setConnectionConfig

      public FtpServer setConnectionConfig(org.apache.ftpserver.ConnectionConfig connectionConfig)
      设置连接相关配置,使用ConnectionConfigFactory创建ConnectionConfig对象
      Parameters:
      connectionConfig - 连接配置
      Returns:
      this
    • getListenerFactory

      public org.apache.ftpserver.listener.ListenerFactory getListenerFactory()
      获取ListenerFactory,用于设置端口、用户、SSL等信息
      Returns:
      ListenerFactory
    • setPort

      public FtpServer setPort(int port)
      自定义默认端口,如果不设置,使用默认端口:21
      Parameters:
      port - 端口
      Returns:
      this
    • getUserManager

      public org.apache.ftpserver.ftplet.UserManager getUserManager()
      获取用户管理器,用于新增、查找和删除用户信息
      Returns:
      用户管理器
    • setUserManager

      public FtpServer setUserManager(org.apache.ftpserver.ftplet.UserManager userManager)
      自定义用户管理器,一般用于使用配置文件配置用户信息
      Parameters:
      userManager - UserManager
      Returns:
      this
    • addUser

      public FtpServer addUser(org.apache.ftpserver.ftplet.User user)
      增加FTP用户
      Parameters:
      user - FTP用户信息
      Returns:
      this
    • addAnonymous

      public FtpServer addAnonymous(String homePath)
      添加匿名用户
      Parameters:
      homePath - 用户路径,匿名用户对此路径有读写权限
      Returns:
      this
    • delUser

      public FtpServer delUser(String userName)
      删除用户
      Parameters:
      userName - 用户名
      Returns:
      this
    • setSsl

      public FtpServer setSsl(org.apache.ftpserver.ssl.SslConfiguration ssl)
      使用SSL安全连接,可以使用SslConfigurationFactory创建SslConfiguration
      Parameters:
      ssl - SslConfiguration
      Returns:
      this
    • setSsl

      public FtpServer setSsl(File keystoreFile, String password)
      使用SSL安全连接
      Parameters:
      keystoreFile - 密钥文件
      password - 密钥文件密码
      Returns:
      this
    • setUsersConfig

      public FtpServer setUsersConfig(File propertiesFile)
      自定义用户信息配置文件,此方法会重置用户管理器
      Parameters:
      propertiesFile - 配置文件
      Returns:
      this
    • addFtplet

      public FtpServer addFtplet(String name, org.apache.ftpserver.ftplet.Ftplet ftplet)
      增加FTP动作行为监听处理器,通过实现Ftplet,可以对用户的行为监听并执行相应动作
      Parameters:
      name - 名称
      ftplet - Ftplet,用户自定义监听规则
      Returns:
      this
    • start

      public void start()
      启动FTP服务,阻塞当前线程 一个Listener对应一个监听端口 可以创建多个监听,此处默认只监听一个