如何在Java中将FTP文件列表转换为文件列表? [重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Java中将FTP文件列表转换为文件列表? [重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

我有一个FTP文件列表,我只能将第一个FTPFile转换为File。我正在使用org.apache.commons.net.ftp库。 我的代码第一次正常工作:

for (FTPFile file : files) {
  if(ftpClient.sendNoOp()){
   if(file.getName()!=null || !file.getName().equals("")) {
           InputStream iStream=ftpClient.retrieveFileStream(file.getName());
           File file2 = File.createTempFile("xml", null);
           FileUtils.copyInputStreamToFile(iStream, file2);
           iStream.close();
                }
  }
}

从这段代码开始,循环仅遍历时间,并且FTPFile被转换为File,之后它将获得由null中生成的ftpClient.retrieveFileStream(file.getName())值创建的异常。 请帮忙。

答案

下载文件后,您必须完成传输。这就是您能够下载第一个文件并且第二个文件下载有问题的原因。

 success = ftpClient.completePendingCommand();
 if (success) {
                System.out.println("File has been downloaded successfully.");
  }

如果问题仍然存在,您可以调用ftpClient.getReplyCode(),它将告诉您无法下载文件的原因。通常,retrieveFileStream在无法打开数据连接时返回null

另一答案

来自qavxswpoi的Javadoc:

注意:如果任何单个文件列表无法解析,则此数组可能包含空成员。调用者应在引用之前检查每个条目是否为null。

您必须在数组中返回的每个项目上检查null,否则您将获得NPE。

以上是关于如何在Java中将FTP文件列表转换为文件列表? [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 list.builder 中将类转换为列表视图

在 javascript 中将 Blob 转换为文件列表

在java中将整数列表转换为整数数组[重复]

在 PHP 中将文件名列表转换为文件树? [关闭]

如何在 Java Stream 中将 POJO 的列表转换为 Map<String,List>?

如何在python中将文本字符串列表转换为熊猫数据框?