假設我使用DataInputStream
來接收數據,但我不知道是否應該使用(例如)readUTF
,readInt
或readLong
。有沒有一種方法可以告訴我在另一面寫入了什麼類型的數據?從DataInputStream中讀取而不知道輸出類型
0
A
回答
5
不,沒有機制來反思流來找出這些信息。如果您需要這樣做,那麼發件人需要向數據流添加元數據,以指示接下來將接收哪些數據。
例如,發送方可以發送一個0
字節(它可能是一個信號,用於「下一個數據項是一個int
」),然後發送int
,然後發送一個1
字節(對於「下一個信號數據項是long
「),然後是long
本身。
消費者會讀取信號,並知道是否調用readInt
或readLong
。
備選地,可以使用ObjectInput
和ObjectOutput
代替DataInputStream
,其執行爲你的內省(如果使用writeObject()
和readObject()
)。
1
不是。它是所有原始二進制數據。除非你指定你的期望,否則它是一樣的。
相關問題
- 1. 球拍,從端口讀取輸入而不知道什麼
- 2. 從java中的DataInputStream讀取輸入時出錯
- 3. DataInputStream讀取不阻止
- 4. 從DataInputStream中讀取幾個字節[
- 5. 從文本文件讀取2d數組而不知道邊界?
- 6. 用azure brokeredmessage獲取身體而不知道類型
- 7. 從Perl管道中讀取不斷輸出的文字
- 8. 我們如何知道wcf服務的輸入/輸出類型?
- 9. 在PHP中使用XMLReader讀取XML而不知道節點
- 10. 輸入使用DataInputStream類
- 11. c中的「超載」函數 - 不知道輸入參數類型
- 12. 通過python讀取管道輸出行
- 13. 從pexpect sendline讀取輸出
- 14. 從servlet讀取jar輸出
- 15. 聲明UIViewController而不知道子類?
- 16. 加載類而不知道包?
- 17. 獲取ImageView而不知道它
- 18. 無法讀取'undefined'的道具類型
- 19. C:複製數組而不知道它的類型
- 20. C#返回一個類型而不必知道它
- 21. 將通用類型的參數傳遞給方法而不知道類型?
- 22. 不知道輸出值的原因
- 23. DataInputStream類
- 24. 如何讀取未知文件類型?
- 25. 爲什麼我的代碼從輸入文件讀取一行。 C++不知道
- 26. 在R中讀取zip文件而不知道其中的csv文件名
- 27. 如何輸入值,如果我不知道數字和類型
- 28. WCF服務可否傳輸類型(客戶端不知道此類型)信息?
- 29. AJAX Progress:從Shell中讀取輸出
- 30. 反序列化JSON.NET不知道類型