关于问题我在java通过ftp(ssl) 连接ftp服务器成功,怎么list文件中已描述:
具体就是 在通过使用FTPSClient类进行ssl ftp的连接 可以连接成功,但list() ,listNames()或listFiles() 为null.
解决办法:
在ist方法之前调用了
SocketFactory factory = SSLSocketFactory.getDefault();
sftpClient.setSocketFactory(factory);
具体为:
sftpClient.enterLocalPassiveMode();
/* important */
SocketFactory factory=null;
factory= SSLSocketFactory.getDefault();
sftpClient.setSocketFactory(factory);
/* list所在目录的文件 返回文件名到数组中
通过for循环进行遍历控制台打印
*/
String[] fileNames = sftpClient.listNames();
for(String fileName:fileNames){
logger.info(fileName);
}
然后listFiles(). 成功!
1.为什么调用此方法后 就可以list文件了?
初步分析:sftpclient(FTPSClient)连接方法是调用父类(FTPClient)方法,而其本身使用的ssl加密的相关方法在父类中并没有被实现,此方法(setSocketFactory)作用是调用设置了生成此类的工厂为SSLSocketFactory,进而实现ssl的相关功能.
备注: 由于本人代码写的较乱,没有粘贴完整代码,若有需要欢迎留言所要.
分享到:
相关推荐
此外,安全性是FTP服务端设计的重要一环,应考虑使用SSL/TLS加密连接,或者采用更安全的SFTP(SSH文件传输协议)。 在提供的压缩包文件中,可能包含了示例代码,用于演示如何使用Java实现FTP客户端和服务端。通过...
要获取FTP服务器上的文件列表,可以设置`Method`属性为`"LIST"`,然后读取响应流来解析文件信息。这通常涉及到解析UNIX风格的目录列表输出。 ```csharp request.Method = WebRequestMethods.Ftp.ListDirectory; ...
"C# FTP操作封装类"就是这样一个工具,它集成了常见的FTP命令,如上传、下载、列出目录、删除文件等,以便程序员能更高效地在C#项目中使用FTP服务。 FTP操作类的设计通常基于`System.Net.FtpWebRequest`和`System...
Java作为多平台编程的强大语言,提供了丰富的API来实现FTP客户端的功能,包括连接FTP服务器、浏览文件列表以及进行文件上传和下载等操作。本篇将详细介绍如何使用Java通过Socket编程访问FTP服务器并显示所有文件列表...
本文将详细讲解如何使用Java实现FTP自动上传整个磁盘的文件,包括目录结构,并介绍如何通过JTextArea展示Log4j日志信息以及命令行交互。 首先,我们需要一个第三方库来处理FTP通信。在Java中,Apache Commons Net库...
对于FTP文件的上传,过程类似,但需要使用`storeFile`方法来上传文件到FTP服务器。以下是一个简单的上传文件的示例: ```java public static boolean upFile(String url, int port, String username, String ...
FTP客户端在IT行业中是用于与FTP(文件传输协议)服务器进行交互的应用程序,它允许用户上传、下载文件或管理远程服务器上的文件系统。在C#编程语言中,我们可以使用System.Net命名空间中的FtpWebRequest和...
3. **安全设置**:在使用filezilla或其他图形界面FTP客户端时,确保选择“使用FTP over TLS( Explicit TLS/SSL )”连接类型,并验证服务器的SSL证书。 通过上述步骤,你可以在Linux环境中成功配置FTPS服务端和...
在本文中,我们将深入探讨如何使用C#编程语言来实现FTP(文件传输协议)功能,包括上传文件到FTP服务器、从服务器下载文件、删除服务器上的文件以及查看服务器上的文件内容。FTPtest.rar压缩包文件中可能包含了一个...
2.15 用类文件对象适配真实文件对象 83 2.16 遍历目录树 84 2.17 在目录树中改变文件扩展名 85 2.18 从指定的搜索路径寻找文件 86 2.19 根据指定的搜索路径和模式寻找文件 87 2.20 在Python的搜索路径中寻找...
Implementing the Null Object Design Pattern Recipe 6.18. Automatically Initializing Instance Variables from _ _init_ _ Arguments Recipe 6.19. Calling a Superclass _ _init_ _ Method If It Exists ...
The plistlib module: A Property-List Parser ctypes Enhancements Improved SSL Support Deprecations and Removals Build and C API Changes Port-Specific Changes: Windows Port-Specific Changes: Mac OS...