Java 嵌入apache.ftpserver.FtpServer 实现FTP服务

最近银行需要上传对账文件到我们的FTP服务器,服务器是Windows环境的,最初用IIS搭建了一个,但被动模式情况下无法打开端口范围,就用apache.ftpserver.FtpServer封了一个,当然也可以直接下载apache.ftpserver.FtpServer部署即可。
public static void initFTPService(){
    try {
        FtpServerFactory serverFactory = new FtpServerFactory();
        ListenerFactory factory = new ListenerFactory();
        factory.setPort(Constants.FTPPort);//本地监听端口
        //设置PASS (被动模式)
        DataConnectionConfigurationFactory dFactory = new DataConnectionConfigurationFactory();
        dFactory.setPassiveIpCheck(true);
        dFactory.setPassiveExternalAddress(Constants.PassiveExternalAddress);
        dFactory.setPassivePorts(Constants.PassivePorts);
        dFactory.setPassiveAddress(Constants.PassiveAddress);
        factory.setDataConnectionConfiguration(dFactory.createDataConnectionConfiguration());
        serverFactory.addListener("default", factory.createListener());//覆盖默认监听
        //用户名
        BaseUser user = new BaseUser();
        user.setName(Constants.FTPUserName);
        user.setPassword(Constants.FTPPassWord);
        //目录
        user.setHomeDirectory(Constants.FTPRootPath);
        List<Authority> authorities = new ArrayList<Authority>();
        //权限
        authorities.add(new WritePermission());
        user.setAuthorities(authorities);
        //增加该用户
        serverFactory.getUserManager().save(user);
        FtpServer server = serverFactory.createServer();
        server.start();
    } catch (FtpException e) {
        e.printStackTrace();
    }
}

源码下载地址:https://download.csdn.net/download/lijun169/10628620

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值