2
最近我正在使用多線程概念製作服務器 - 客戶端程序。出於某種原因,我必須從客戶端發送一串字符串到服務器。我正在使用ObjectOutputStream
和writeObject()
方法發送該字符串數組。例如,我有一個名爲String data[] = new String[3]
的數組,然後通過socketwriteobject(data)
發送它。通過套接字接收和打印字符串數組對象
問題是,我如何接收服務器上的這個字符串數組?是ObjectInputStream
和這種方法readObject()
可以幫助我嗎?我只是想迭代這個對象,並把它變成服務器端的新字符串數組。例如String newData[] = new String[3]
,然後將data[0]
中的字符串轉換爲newData[0]
,直到data[2]
轉換爲newData[2]
。
是的,它的工作!謝謝。但是我有一個問題,爲什麼我們必須在這段代碼中放一個'try-catch'? – irvana
由於'ObjectInputStream.readObject()'拋出了一些例外可能的失敗,例如'ClassNotFoundException' - 找不到序列化對象的類。 'InvalidClassException' - 序列化使用的類有問題。 'StreamCorruptedException' - 流中的控制信息不一致。 'OptionalDataException' - 在流中找到原始數據而不是對象。 'IOException' - 任何常見的輸入/輸出相關異常。 –
如果出現上述任何情況,即無法讀取文件,則會拋出'IOException',您需要在catch塊中處理該異常。 '如果您不想添加try/cath,則在方法簽名末尾添加上面提到的異常作爲'throws IOException,OptionalDataException,InvalidClassException,ClassNotFoundException,StreamCorruptedException'。請讓我知道,如果你需要任何幫助。 –