我目前正在做一個家庭作業任務,並且我被徹底卡住了。我在最後一個問題上,我無法弄清楚如何去完成最後的任務。下面是我必須完成的任務:如何在客戶端/服務器Java應用程序中傳輸文件
客戶端應該 將文件保存在「客戶端」 子目錄的主目錄。
測試你的程序。確保它與二進制文件一起工作 ,而不僅僅是文本 文件。當 程序與 位於同一臺機器上時,以及當它們通過網絡上的 分隔時,請確保它正常工作。
至此,當我啓動服務器時,它會詢問我要使用哪個端口。然後我啓動客戶端並詢問要使用哪個IP和端口。服務器立即發送主目錄「server」文件夾中的文件列表。然後,我與客戶一起回覆我希望下載的文件編號。這是我卡住的地方。我似乎無法找到任何有關如何做到這一點的信息。正如你可以在我的代碼下面看到的,我正在嘗試使用FileInputReader將文件轉換爲字節數組。然後我將它發送給客戶。然後我嘗試將FileOutputReader接收到的字節數組轉換爲文件。但我似乎無法找到正確的方法來做到這一點,或者即使我正確地做到了這一點。
CLIENT
int i = 0;
while(i < 1000){
String modifiedSentence = inFromServer.readLine();
System.out.println("From Server: " + modifiedSentence);
i++;
}
while(j < 1000) {
int byteString = inFromServer.read();
ArrayList<byte[]> bytes = new ArrayList<byte[]>();
bytes.add(byteString);
}
Integer byteInt = new Integer(byteString);
FileOutputStream fo = new FileOutputStream(System.getProperty("user.home")+ "/client/text.txt");
fo.write(byteInt.byteValue());
}
}
服務器
byte[] bytes = new byte[1024];
FileInputStream fi = new FileInputStream(file.toString() + fileArray[userChoiceInt]);
fi.read(bytes, 0, 1024);
outToClient.write(bytes, 0, 1024);
}
}
}
如果有人可以提供任何意見或正確的類或使用我將不勝感激方法。
預先感謝您。
由於這是作業,你允許使用第三方庫嗎?您基本上重新創建FTP,在Java中存在有用的FTP庫。 – BalusC 2010-09-25 17:33:58
是的,你是正確的,我不能使用任何第三方庫。 :( – 2010-09-26 00:57:47