如何配置 Apache FTPFileSystem java class 以使用 FTPSClient 而不是 FTPClient

How can I configure Apache FTPFileSystem java class to use FTPSClient instead of the FTPClient

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

该界面只允许我传递文件路径、配置和 FileSystem implementation

是否有 属性 设置或其他方法来配置 FTPFileSystem 以使用 FTPSClient 而不是 FTPClient

FTPFileSystem 不支持 FTPS。它无法创建 FTPSClient.

您应该根据 FTPFileSystem 创建您自己的 FileSystem 实现(更改 open 的实现),您将客户端初始化为 FTPSClient 而不是FTP 客户。即:

FTPSClient client = new FTPSClient();

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

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

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

conf.set("fs.ftp.data.connection.mode", "PASSIVE_LOCAL_DATA_CONNECTION_MODE");