0

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

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

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

4

3 回答 3

2

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

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

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

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

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

我已经在http://www.jscape.com/products/components/java/secure-ftp-factory/上使用 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());

}
于 2012-01-02T15:30:55.280 回答
1

您必须使用 FTP 协议的命令,最好使用 FTP 库。Apache Commons 的FTPClient相当不错。

于 2012-01-01T18:58:32.890 回答
0

为什么不直接使用 ftp4j 之类的东西呢?http://www.sauronsoftware.it/projects/ftp4j/

于 2012-01-01T18:59:42.313 回答