Class SimpleFtpServer

java.lang.Object
org.miaixz.bus.extra.ftp.SimpleFtpServer

public class SimpleFtpServer extends Object
基于 Apache FtpServer(http://apache.apache.org/ftpserver-project/)的FTP服务端简单封装。
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • SimpleFtpServer

      public SimpleFtpServer()
      构造
  • Method Details

    • of

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

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

      public SimpleFtpServer 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 SimpleFtpServer setPort(int port)
      自定义默认端口,如果不设置,使用默认端口:21
      Parameters:
      port - 端口
      Returns:
      this
    • getUserManager

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

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

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

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

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

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

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

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

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

      public void start()
      启动FTP服务,阻塞当前线程