使用 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
我在没有 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