java提供ftp服务,搭建ftp服务

使用Java代码搭建FTP服务器,步骤如下:

1.添加依赖

带版本管理的依赖添加看文章最下边

<dependency>
	    <groupId>org.apache.ftpserver</groupId>
	    <artifactId>ftpserver-core</artifactId>
	    <version>1.1.1</version>
	    <scope>compile</scope>
</dependency>

2.核心代码

package com.example.demo.controller;

import org.apache.ftpserver.FtpServer;
import org.apache.ftpserver.FtpServerFactory;
import org.apache.ftpserver.ftplet.Authority;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.listener.ListenerFactory;
import org.apache.ftpserver.usermanager.impl.BaseUser;
import org.apache.ftpserver.usermanager.impl.WritePermission;

import java.util.ArrayList;
import java.util.List;

/**
 * @Author leaves
 * @Date 2021/11/10 19:34
 */
public class FileUtilController {
    
    
    public static void main(String[] args) throws FtpException {
    
    
        FtpServerFactory serverFactory = new FtpServerFactory();

        ListenerFactory factory = new ListenerFactory();
        //设置监听端口
        factory.setPort(2022);

        //替换默认监听
        serverFactory.addListener("default", factory.createListener());

        //用户名
        BaseUser user = new BaseUser();
        user.setName("yourname");
        //密码 如果不设置密码就是匿名用户
        user.setPassword("yourpassword");
        //用户主目录
        user.setHomeDirectory("C:\\images");

        List<Authority> authorities = new ArrayList<Authority>();
        //增加写权限
        authorities.add(new WritePermission());
        user.setAuthorities(authorities);

        //增加该用户
        serverFactory.getUserManager().save(user);

        FtpServer server = serverFactory.createServer();
        server.start();
    }
}


带版本管理的依赖添加

pom.xml中添加依赖和管理版本

    <properties>
        <ftpserver.version>1.1.1</ftpserver.version>
    </properties>

<dependencies>
  	<dependency>
	    <groupId>org.apache.ftpserver</groupId>
	    <artifactId>ftpserver-core</artifactId>
	    <scope>compile</scope>
	</dependency>
  </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.apache.ftpserver</groupId>
                <artifactId>ftpserver-core</artifactId>
                <version>${ftpserver.version}</version>
            </dependency>
        </dependencies>
	</dependencyManagement>

猜你喜欢

转载自blog.csdn.net/weixin_43329956/article/details/121559256