使用ZipFile从FTP枚举FTPFile

时间:2015-06-01 10:47:47

标签: java apache ftp apache-commons-net

我没有通过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?

非常感谢提前!

1 个答案:

答案 0 :(得分:1)

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

点击此处查看示例:http://www.mysamplecode.com/2012/03/apache-commons-ftpclient-java-example_16.html