前言
由于业务需求,需要实现 ftp server 的文件上传和下载功能。于是便借助了 apache 的一个工具包 commons-net。使用起来很简单,但是有些细节比较坑,特此说明一下。
使用
第三方包的核心工具类是 FTPClient ,不管是文件上传还是文件下载,都要进行连接和登录,具体会在代码中体现出来。
准备工作
引入 maven 依赖
commons-net
commons-net
3.6
ftp 服务器的连接信息
主机名
端口
用户名
密码
如果需要自己搭建和配置文件服务器,请自行百度
常用命令
rm -rf 目录名称
mkdir 目录名称 创建目录
touch 文件名 新建文件
cd 目录名称 切换目录
kill -9 进程ID 杀死进程
chmod 配置权限
文件上传
文件上传其实就是把我们本地的文件,放到文件服务器指定的目录下。 想象一下,如果我们此时在一台 linux 服务器上新建一个文件夹和文件,该如何操作?
创建文件夹 mkdir 文件夹名称
进入到文件夹中 cd 文件夹名称
新建文件 touch 文件名称
其实 FTPClient 实现文件上传的代码也是这个意思,其中用到的方法主要是:
makeDirectory(path)
changeWorkingDirectory(path)
storeFile(remoteFilename, inputStream);