2011-12-21 61 views
0

我試圖製作一個程序,如果它安裝在另一臺計算機上,我可以訪問該計算機上的文件。這可能使用java?如果是的話,任何人都可能指向我正確的方向與什麼類我需要使用除了BufferedReader等?從另一臺計算機獲取信息

編輯:我被告知使用serversocket和套接字類。但是,我看到的一個問題是連接。如果我的電腦是服務器,並且斷開連接,那麼如何讓套接字與我再次連接,而無需控制套接字?反之亦然,我怎麼能放心,我可以打開服務器端口,而無需控制另一臺計算機?

回答

3

如果您想在不同計算機上運行的Java程序之間發送文件,請使用Socket和ServerSocket。您似乎已經知道的BufferedReader和Writer類將幫助您讀取和寫入文件。套接字類將幫助您傳輸項目。

+0

所以在這種情況下,我的電腦將是服務器,他們的插座是否正確?當一個事件發生時,你寫什麼樣的流? ServerSocket是否具有自己的數據流功能? – 2011-12-21 07:22:55

+0

服務器可以是任一臺計算機。將有一臺服務器和可能有很多客戶端,所以選擇哪臺計算機應該是其中一臺,並將其作爲服務器。至於傳輸,你可以讀取部分文件,並將字節/字符寫入套接字的OutputStream,或者你可以將它全部讀入內存(byte []或char []),並使用類似ObjectOutputStream的東西發送它。提示:OutputStream out = new ObjectOutputStream(socket.getOutputStream())。 ObjectOutputStream的JavaDoc應該有所幫助。 – 2011-12-21 07:48:01

+0

好吧,解釋得很好,謝謝。你可以閱讀上面的編輯嗎? – 2011-12-21 07:49:39

1

這當然是可能的。

正如你將通過網絡與該程序進行通信,你需要像java.net.Socket和co。

相關問題