如何配置Apache FTPFileSystem Java类以使用FTPSClient而不是FTPClient

问题描述

我正在使用Apache Commons库来访问应用程序中在FTP / FTPS上使用的文件。 该应用程序的体系结构不允许启动FTPClient,在我的情况下,我需要使用Apache FTPSClient

该界面仅允许我将路径传递到文件,配置和一个FileSystem implementation

是否可以设置属性或将FTPFileSystem配置为使用FTPSClient而不是FTPClient的其他方式?

解决方法

808 Images不支持FTPS。它无法创建FTPFileSystem

您必须基于FTPSClient创建FileSystem的自己的实现(更改FTPFileSystem的实现),在此您将客户端初始化为FTPSClient而不是FTP客户端。即:

FTPSClient客户端=新的FTPSClient();

您可以使用以下方法将其与open网址相关联:

ftps://

您可能需要在客户端设置以下属性以进入本地被动模式:

conf.set("fs.ftps.impl","com.myproject.MyFTPSFileSystem");