使用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>