我正在尋找一種在Java中使用TCP的客戶端和服務器進程之間傳輸文件的有效方法。我的服務器代碼看起來像這樣:Java中的客戶端 - 服務器文件傳輸
socket = serverSocket.accept();
InputStream is = socket.getInputStream();
OutputStream os = socket.getOutputStream();
FileInputStream fis = new FileInputStream(new File(filename));
我只是不確定如何繼續。我知道我想從fis
讀取字節,然後將它們寫入os
,但我不確定使用Java中的字節流讀取和寫入字節的最佳方式。我只使用作家和讀者熟悉書寫/閱讀文本。任何人都可以告訴我適當的方式來做到這一點?我應該怎麼包裝在os
和fis
(如果有的話),我如何一直保持到文件末尾讀取的字節沒有hasNext()
方法(或同等學歷)
FTP庫? SSH文件傳輸庫(JSch)?沒有? – ecle
我沒有使用FTP的經驗,但如果你能推薦一個好的Java FTP庫,那麼我一定會看看。 –
對於FTP服務器部分,您可以使用Apache MINA FTP服務器庫[http://mina.apache.org/ftpserver/embedding-ftpserver-in-5-minutes.html](http://mina.apache.org/ ftpserver/embedding-ftpserver-in-5-minutes.html) – ecle