Перечисление FTPFile из FTP с использованием 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)
Какой обходной путь для этого? Как я могу указать путь, чтобы он знал, где искать почтовый индекс?
Спасибо заранее!
1 ответ
Решение
Вам, вероятно, придется сначала получить файл с FTP-сервера, прежде чем вы сможете получить к нему доступ. FTPFile
Экземпляр выглядит как ссылка на фактический файл.
Посмотрите здесь пример: http://www.mysamplecode.com/2012/03/apache-commons-ftpclient-java-example_16.html