2012-01-01 159 views
0

我有一個問題與FTP服務器的連接。我有一個應用程序,它必須從文件中讀取數據。我有代碼,我在我的本地磁盤文件搜索,但我必須改變,因爲我必須在FTP服務器上的所有數據。 這時我正在使用:Java和FTP服務器

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

其中nameFile是我的文件的名稱。我創建了從本地磁盤的文件加載數據的通道。我可以更改可以在FTP服務器上搜索文件的代碼嗎?

回答

2

我不完全理解您的文章,但它聽起來像你正在尋找一些代碼來檢查是否存在遠程FTP服務器上的文件,是否正確?如果是這樣,那麼您將需要執行以下操作:

  1. 連接到服務器並進行身份驗證。

  2. 導航到遠程系統上的目錄

  3. 執行遠程系統

  4. 檢查的目錄列表,查看是否有在目錄列表中的文件符合您所looing該文件。

我做這個成功使用安全FTP廠在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()); 

} 
1

你必須使用FTP協議的命令和最好的FTP庫。 Apache的百科全書FTPClient是相當不錯的。