• 大小: 4KB
    文件类型: .java
    金币: 1
    下载: 0 次
    发布日期: 2021-05-06
  • 语言: Java
  • 标签: FTP  IMPLICIT  SSL  

资源简介

JAVA遍历下载FTPS服务器上的文件,

资源截图

代码片段和文件信息

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.SocketException;
import java.util.ArrayList;

import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClientConfig;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
import org.apache.commons.net.ftp.FTPSClient;

public class FTPS {

private static FTPSClient client;
private static ArrayList FileList;

public static void getPath(FTPSClient ftp String path ArrayList pathArray) throws IOException {
    
     try {
     FTPFile[] files = ftp.listFiles();
         for (FTPFile ftpFile : files) {
         String tmp = new String(ftpFile.getName().getBytes(“utf-8“));         
         if (tmp.equals(“.“) || tmp.equals(“..“)) {
         continue;
         }        
             if (ftpFile.isDirectory()) { //如果是目录,则递归调用,查找里面所有文件
              if (path.equals(“/“)) {
              path += tmp;
              } else {
              path += “/“ + tmp;
              }         
              pathArray.add(path);
              System.out.println(“Dir -> “ + path);
              ftp.changeWorkingDirectory(path); //改变当前路径
              getPath(ftp path pathArray); //递归调用
              path = path.substring(0 path.lastIndexOf(“/“));//避免对之后的同目录下的路径构造作出干扰,
             }
         }
} catch (Exception e) {
e.printStackTrace();
}

    }
    
    public static void download(FTPSClient ftp ArrayList pathArray String localRootPath) throws IOException {
     try {
     for (String string : pathArray) {
     String localPath = localRootPath + string;
              File localFile = new File(localPath);
              if (!localFile.exists()) { 
              localFile.mkdirs(); 
         

评论

共有 条评论