使用 ZipFile 从 FTP 枚举 FTP 文件

Enumerating FTPFile from FTP using ZipFile

我在没有 FTP 的情况下读取 ZipFiles 的常用方法如下:

private void getLogFromZip(File logZip){
  ZipFile zf = new ZipFile(logZip);
  Enumeration<?> entries = zf.entries();
  while (entries.hasMoreElements()) {
    ZipEntry ze = (ZipEntry) entries.nextElement();
  //do something with entry    
}

现在我已经连接到 FTP 服务器,检索 FTP 文件并使用它使事情变得困难:

private void getLogFromZip(FTPFile logZip){
  ZipFile zf = new ZipFile(logZip.getName()); //here's the problem
  Enumeration<?> entries = zf.entries();
  while (entries.hasMoreElements()) {
    ZipEntry ze = (ZipEntry) entries.nextElement();
  //do something with entry    
}

直接在第 1 行我得到这个:

java.io.FileNotFoundException: logger_150510_092333.zip (System cannot find the file? specified)

有什么解决方法?我怎样才能指定一个路径,以便它知道在哪里寻找 zip?

非常感谢!

您可能必须先从 FTP 服务器获取文件,然后才能访问它。 FTPFile 实例似乎只是实际文件的 link。

在这里查看示例:http://www.mysamplecode.com/2012/03/apache-commons-ftpclient-java-example_16.html