一、首先要有个ftp服务器,没有的可以参照我这篇文章搭建一个ftp服务器
https://blog.youkuaiyun.com/Yang_Hui_Liang/article/details/89676276
二、添加mavne依赖
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.6</version>
</dependency>
三、编写一个工具类,给上传、下载、登录、退出、等方法进行一个封装
package com.szfa.reg.ocr.utils;
import org.apache.commons.net.ftp.*;
import java.io.*;
import java.util.UUID;
/**
* @aouhor YangHuiLiang
* @create 2019/6/27
*/
public class FtpClientUtils {
// 服务器的ip
private String hostName = "192.168.0.173";
// 服务器的端口
private int port = 21;
// 用户名
private String userName = "yanghl";
// 密码
private String passWord = "admin@123";
// 存放的位置
private String path = "ftproot/card/";
/**
* 获得FTP连接方式
*/
public FTPClient getConnectionFTP() {
//创建FTPClient对象
FTPClient ftp = new FTPClient();
try {
//连接FTP服务器
ftp.connect(hostName, port);
//下面三行代码必须要,而且不能改变编码格式,否则不能正确下载中文文件
ftp.setControlEncoding("GBK");
FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_NT);
conf.setServerLanguageCode("zh");
//登录ftp
ftp.login(userName, passWord);
if (!FTPReply.isPositiveCompletion(ftp.getReplyCode())) {
ftp.disconnect();
}
} catch (IOException e) {
e.printStackTrace();
}
return ftp;
}
/**
* 关闭连接FTP方式
* @param ftp FTPClient对象
* @return boole