我有一個簡單的問題關於從我的webapp服務器發送文件(XML文件)到另一臺服務器與Java(struts2框架)。Java:從web服務器發送文件(XML)到另一臺服務器
我希望有人可以給看看我的代碼,因爲這是不可能的,我來檢查代碼將工作 - 其他服務器(一個具有接收文件)仍然沒有實現。而且我必須準備好我的webapp服務器以最準確的方式發送文件。
我有一個XML文件路徑,服務器地址和端口由Spring框架填充。
看看互聯網中的一些例子,以及在這個真棒網站的一些其他問題,我試圖寫一個簡單的代碼發送我的文件到給定的地址。 這是代碼:
private String server;
private Integer port;
// getters and settlers methods for server and port properties
public void sendXML(String fileName) throws Exception{
try{
Socket socket = new Socket(server, port);
File file = new File(fileName);
FileInputStream fis = new FileInputStream(file);
OutputStream os = socket.getOutputStream();
byte [] bytearray = new byte [(int)file.length()];
BufferedInputStream bis = new BufferedInputStream(fis);
bis.read(bytearray,0,bytearray.length);
os.write(bytearray,0,bytearray.length);
os.flush();
socket.close();
}
catch(IOException e){
e.printStackTrace();
}
}
所以,我會很感激,如果有人可以給看看我的代碼,並告訴我,如果你認爲它不會工作。如果你認爲還有另一種更好的辦法,我也會很感激它。
謝謝你的人,你總是真真正有用的;)
問候,
Aleix
'byte [] bytearray = new byte [(int)file.length()];''是一個壞主意。文件可能大於Integer.MAX_VALUE; –
感謝您的建議,現在我正在嘗試實施發送槽Apache HttpClient4庫。 Regards – Aleix