springboot 集成vsftp
安装vsftp
阿里云CentOS7.6手动安装ftp
安装vsftp教程
导入依赖
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
implementation group: 'commons-net', name: 'commons-net', version: '3.8.0'
}
测试类
package com.dnydysspringbootvsftpd;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class SpringBootVsftpdApplicationTests {
@Test
void contextLoads() {
}
@Test
public void testFtpClient() throws IOException {
FTPClient ftpClient = new FTPClient();
ftpClient.connect("101.133.226.94",21);//服务器地址和端口
ftpClient.login("ftptest","1a2s3d4f");//登录的用户名和密码
String userid = "22";
String userPath = "/var/ftp/test";
//读取本地文件,给出的是本地文件地址
FileInputStream inputStream = new FileInputStream(new File("C:\\Users\\hasee\\Desktop\\redis.conf"));
//将路径切换到指定目录下
ftpClient.changeWorkingDirectory(userPath);
//在该目录下创建该用户的文件夹
//如果该用户的文件夹已经存在,返回值会为false
ftpClient.makeDirectory(userid);
//该用户上传的文件都传到这个目录下
//切换目录至用户的文件夹下
ftpClient.changeWorkingDirectory(userid);
//设置文件类型
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
//1.服务器端保存的文件名,2.上传文件的inputstream
ftpClient.storeFile("redis3.conf",inputStream);
ftpClient.logout();
}
}
可以看到创建了22目录
该文件已经上传上去了
文件下载待更新