0

我需要从共享位置读取所有文件并返回文件映射。我使用 FTPClient 访问共享位置。使用 FTPClient 我能够将所有文件作为 FTPFile 检索。但我想将 FTPFile 转换为文件。请看代码。

FTPFile[] ftpFiles = ftpClient.listFiles(folderPath);

注意:-我不想每次都创建新连接。我想在一个连接中阅读所有内容

4

2 回答 2

2

看起来这是一个非常古老的问题,但只是想更新我所做的事情。

InputStream iStream=ftpClient.retrieveFileStream(ftpFile.getName());
File file = File.createTempFile("tmp", null);
FileUtils.copyInputStreamToFile(iStream, file);

希望这会有所帮助。

于 2016-12-16T18:07:19.400 回答
0

如果您只想获取名称,请尝试以下代码:

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;
    }
}
于 2018-05-18T03:28:10.677 回答