2011-08-19 66 views

回答

3

有一些選擇:

  • 通過了「映射」目錄使用SMB/Samba在遠程機器上,然後你可以使用正常File類訪問文件。

  • 通過一個Web服務器,讀取訪問更容易(如果你需要寫入權限,那麼你正在尋找像WebDAV的東西)。這需要在你的代碼中使用HTTP協議。

  • 通過FTPSFTP訪問該文件的網絡協議。這顯然需要使用(S)FTP類來訪問文件。

第一個選項是從編碼的角度來看最容易。

1

首先,您需要在提供文件的遠程計算機上提供服務。一旦存在文件服務服務,就可以使用其協議與服務進行通信。

假設client-server model,您在遠程(服務器)端有幾個選擇。首先,您可以設計自己的協議,編寫服務器,將其部署到遠程機器上並編寫一個客戶端(使用Java),該客戶端將使用設計的協議與服務器通信。但是,可能會使用許多現成的解決方案(協議+服務器+ Java客戶端庫)。現在想到的三種協議:TFTP,FTPSMB

如果你的目標很簡單,我推薦使用TFTP:在UNIX,Windows和Mac OS X上有免費的TFTP服務器,並且在客戶端有Apache Commons Net Java庫。

2

如果Java代碼和遠程文件都在Linux機器上,您也可以選擇NFS。

  1. 與往常一樣,您需要啓動服務器來提供文件 - 您需要nfsd在遠程計算機上共享包含該文件的目錄。
  2. 在機器在您的Java代碼將運行,掛載NFS共享

Here簡要介紹使用Ubuntu上的NFS。

如果你喜歡FTP/HTTP,你會有興趣Apache commons vfs庫,它支持多種協議,包括FTP,SFTP,HTTP等

+0

+1的Apache下議院VFS:這是很好的。 – trojanfoe