记录一次Linux系统下FTP下载文件时ftpClient.listFiles(path)时size为0的解决方法
最近一次项目做一个ftp服务器文件下载并导入数据库的功能,从其他大神博客处提供的ftp工具类开始处理(https://blog.youkuaiyun.com/wangmx1993328/article/details/82150290),本地windows系统搭建的ftp服务器下载导入一切正常,并可以同步更新ftp服务器文件,大神的工具类用起来真不错。开始测试linux下的ftp服务器时下载一直出现问题,在获取所有文件时结果一直为根目录下的一个子目录,因为是递归调用,最后结果取的目录是这样/download/download/download/...无限循环。
获取所有文件的方法
public static List<String> loopServerPath(FTPClient ftpClient, String remotePath, List<String> relativePathList) {
/**如果 FTP 连接已经关闭,或者连接无效,则直接返回*/
if (!ftpClient.isConnected() || !ftpClient.isAvailable()) {
System.out.println("ftp 连接已经关闭或者连接无效......");
return relativePathList;
}
try {
/**转移到FTP服务器根目录下的指定子目录
* 1)&