我需要从共享位置读取所有文件并返回文件映射。我使用 FTPClient 访问共享位置。使用 FTPClient 我能够将所有文件作为 FTPFile 检索。但我想将 FTPFile 转换为文件。请看代码。
FTPFile[] ftpFiles = ftpClient.listFiles(folderPath);
注意:-我不想每次都创建新连接。我想在一个连接中阅读所有内容
我需要从共享位置读取所有文件并返回文件映射。我使用 FTPClient 访问共享位置。使用 FTPClient 我能够将所有文件作为 FTPFile 检索。但我想将 FTPFile 转换为文件。请看代码。
FTPFile[] ftpFiles = ftpClient.listFiles(folderPath);
注意:-我不想每次都创建新连接。我想在一个连接中阅读所有内容
看起来这是一个非常古老的问题,但只是想更新我所做的事情。
InputStream iStream=ftpClient.retrieveFileStream(ftpFile.getName());
File file = File.createTempFile("tmp", null);
FileUtils.copyInputStreamToFile(iStream, file);
希望这会有所帮助。
如果您只想获取名称,请尝试以下代码:
private File[] getRemoteFilesInFolder() {
FTPFile[] elements;
File[] files;
try {
elements = ftpClient.listFiles();
files = new File[elements.length];
for(int i=0; i< elements.length; i++) {
files[i] = new File(elements[i].getName());
}
return files;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}