我试图递归遍历登录到FTP服务器后到达的整个根目录.

我能够连接,所有我真正想要做的就是通过整个结构进行递归并下载每个文件和文件夹,并使其与FTP上的结构相同.到目前为止我所拥有的是一个有效的下载方法,它进入服务器并获取我的整个文件结构,这很棒,除非它在第一次尝试时失败,然后第二次工作.我得到的错误如下:

java.io.FileNotFoundException: output-directoryestestFile.png

(The system cannot find the path specified)

我设法上传了我在本地的目录的上传功能,但是经过多次尝试我无法完全下载工作,我真的需要一些帮助.

public static void download(String filename, String base)

{

File basedir = new File(base);

basedir.mkdirs();

try

{

FTPFile[] ftpFiles = ftpClient.listFiles();

for (FTPFile file : ftpFiles)

{

if (!file.getName().equals(".") && !file.getName().equals("..")) {

// If Dealing with a directory, change to it and call the function again

if (file.isDirectory())

{

// Change working Directory to this directory.

ftpClient.changeWorkingDirectory(file.getName());

// Recursive call to this method.

download(ftpClient.printWorkingDirectory(), base);

// Create the directory locally - in the right place

File newDir = new File (base + "/" + ftpClient.printWorkingDirectory());

newDir.mkdirs();

// Come back out to the parent level.

ftpClient.changeToParentDirectory();

}

else

{

ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);

String remoteFile1 = ftpClient.printWorkingDirectory() + "/" + file.getName();

File downloadFile1 = new File(base + "/" + ftpClient.printWorkingDirectory() + "/" + file.getName());

OutputStream outputStream1 = new BufferedOutputStream(new FileOutputStream(downloadFile1));

boolean success = ftpClient.retrieveFile(remoteFile1, outputStream1);

outputStream1.close();

}

}

}

}

catch(IOException ex)

{

System.out.println(ex);

}

}

java ftp commonsnet_用Java下载整个FTP目录(Apache Net Commons)相关推荐

  1. java读取vsd文件_java下载文件指定目录下的文件

    方法一: @RequestMapping('download') def download(HttpServletRequest request, HttpServletResponse respon ...

  2. java ftp 下载慢_Java实现ftp文件上传下载解决慢中文乱码多个文件下载等问题

    废话不多说了,直接给大家贴代码了,具体代码如下所示: //文件上传 public static boolean uploadToFTP(String url,int port,String usern ...

  3. java上传文件到ftp_java实现文件上传下载至ftp服务器

    以前做的一个项目,用到了文件上传下载至ftp服务器,现在对其进行一下复习,比较简单,一下就能看明白. 环境:首先,先安装ftp服务器,我是在win8本地用IIS配置的, 百度一下就可以找到安装文档. ...

  4. java中ftp删除文件,Java 实现ftp 文件上传、下载和删除

    实现FTP相关功能 1.下载相应的jar包 commons-net-3.6.jar 2.代码实现 import java.io.File; import java.io.FileInputStream ...

  5. Java通过FTP服务器上传下载文件的方法

    本文介绍了如何使用Apache Jakarta Commons Net(commons-net-3.3.jar)基于FileZilla Server服务器实现FTP服务器上文件的上传/下载/删除等操作 ...

  6. java ftp byte下载_java ftp下载

    展开全部 这个和ftp没有太大关系,只是一个普通的下载,java连接ftp服务器32313133353236313431303231363533e58685e5aeb931333337383837传输 ...

  7. java远程操作ftp服务器上传下载

    注意里面的文件编码,连接过程编码与服务器编码不一致的话会导致上传中文乱码情况. import java.io.File; import java.io.FileInputStream; import ...

  8. java ftp下载文件 慢_java实现ftp文件上传下载,解决慢,中文乱码,多个文件下载等问题...

    标签: //文件上传 public static boolean uploadToFTP(String url,int port,String username,String password,Str ...

  9. java ftp 中文上传_java实现ftp文件上传下载,解决慢,中文乱码,多个文件下载等问题...

    //文件上传 public static boolean uploadToFTP(String url,int port,String username,String password,String ...

最新文章

  1. 对比学习还能这样用:字节推出真正的多到多翻译模型mRASP2
  2. 一道关于完全二叉树的考研题
  3. Serverless:这真的是未来吗?(一)
  4. C# 4.0 新特性dynamic、可选参数、命名参数等
  5. jQuery手风琴图切换特效插件
  6. C语言 | typedef
  7. hashMap 底层原理+LinkedHashMap 底层原理+常见面试题
  8. 相对路径和绝对路径_linux系统中的绝对路径和相对路径
  9. 比特币全节点(bitcoind) eth 全节点
  10. 使用WPF创建画图箭头
  11. 用例不全,质量如何保证?
  12. 轻松精通数据库管理之道——运维巡检之六(作业运行情况)
  13. Zero Sum chapter 2.3 dfs
  14. TP框架使用qrcode生成二维码
  15. pygame网络游戏_7_1:地图编辑器的使用
  16. 2017年电力职称计算机考试题,2017年职称计算机考试Excel试题(1)
  17. 用python写一个股票提醒、并用邮件方式发送出去
  18. 易语言html加密解密,易语言实现-JScript.Encode加密解密(一)
  19. 实验九:采用异步方式实现文件读/写
  20. 中兴校招软件测试面试题,中兴软创笔试题_中兴软创软件测试笔试题

热门文章

  1. BDOC generated after customer product id is changed in CRM - CUST_MAT_INF
  2. 关于Fiori application里取Account image的Odata request是否会阻塞UI的问题讨论
  3. Wordpress插件检测机制原理
  4. SAP Kyma SSL证书请求文件(CSR)生成逻辑
  5. Sales Volume Analysis PoC app test - environment setup finished
  6. 给Sublime Text2安装GraphQL语法高亮插件
  7. NULL和INITIAL的区别 and database interface
  8. SAP订单编排和流程增强概述
  9. SAP CRM WebUI上Opportunity reason字段的后台配置
  10. linux关闭沙盒模式,打开或关闭沙盒模式以禁用宏