2015-08-25 91 views
1

我通過Java套接字發送文件。通過套接字發送文件 - 終止條件

如果我在發送文件後關閉套接字連接,這樣讀取方法返回-1,這會很好地工作。 但我不想關閉套接字,所以我需要終止條件。 我試圖使用inputStream.available,但它沒有返回確切的字節數。

int number; 
while((number = inputStream.read(buffer)) != -1) { 
    fileStream.write(buffer, 0, number); 
} 

我該怎麼做?

回答

2

標準模式是首先發送長度,如intlong。例如DataInput/OutputStream可以幫助你做到這一點。

當您讀完此數據量時,您已完成,但連接仍處於打開狀態並可繼續使用。

+0

哦,這是一個不錯的主意:D我會嘗試它 – ForJ9