Java 和 FTP 服务器

标签 java ftp channel

我与 FTP 服务器的连接出现问题。我有一个应用程序,它必须从文件中读取数据。我有在本地磁盘上搜索文件的代码,但我必须更改它,因为我的所有数据都在 FTP 服务器上。 此时我使用:

FileChannel fc = new FileInputStream("C:/Data/" + nameFile)
                    .getChannel();

其中 nameFile 是我的文件的名称。我创建 channel ,在其中从本地磁盘的文件加载数据。我可以更改可以在 FTP 服务器上搜索文件的代码吗?

最佳答案

我不完全理解你的帖子,但听起来你正在寻找一些代码来检查远程 FTP 服务器上是否存在文件,对吗?如果是这样,那么您将需要执行以下操作:

  1. 连接到服务器并进行身份验证。

  2. 导航到远程系统上的目录

  3. 执行远程系统的目录列表

  4. 检查目录列表中是否有任何文件与您正在查找的文件匹配。

我已经使用 Secure FTP Factory 成功完成了此操作,网址为 http://www.jscape.com/products/components/java/secure-ftp-factory/

示例代码

Ftp ftp = new Ftp(hostname,username,pass);
ftp.connect();

// get directory listing

Enumeration listing = ftp.getDirListing();

// enumerate thru listing

while(listing.hasMoreElements()) {

FtpFile file = (FtpFile)listing.nextElement();

// check to see if filename matches 
System.out.println("Filename: " + file.getFilename());

}

关于Java 和 FTP 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8694802/

相关文章:

java - 从一个 webapp 抛出 WebapplicationException 并在另一个 webapp 上获取 UniformInterfaceException

java - 对服务的 Dagger 依赖项注入(inject)失败并显示 "contactServiceModule must be set at DaggerAppComponent$Builder.build(DaggerAppComponent.java)"

ftp - 如何从 FTP 服务器读取多行响应?

java - 尝试解析从 ftp 下载的 xml 文件时出现 XMLStreamException

goroutine 阻塞了另一个

java - uriBuilder 返回 http :/instead of http://

java - 使用字符串分割作为另一个方法的参数

tcp - 为什么 FTP 中的数据连接不是持久的?与将其保持为持久连接相比,这有什么优势?

go - 为什么在这个函数中使用 channel ?

go - 如何从 goroutine 结束一个 go 程序