2011-08-30 58 views
0

什麼是在Java中將數據(ints,字符串)轉換爲字節的方法?我正在尋找除了使用Serializable類之外的方法。我研究並發現了諸如ByteOutputStream之類的東西。「序列化」的概念

我可以只解析字符串和整數字節數據類型?

有什麼建議嗎?

+0

爲什麼你不想使用內置的可序列化接口?你想要達到什麼目的? – berry120

回答

3

查看DataInputStream和DataOutputStream,它們將所有Java數據類型轉換爲字節並讀/寫到基礎Input/OutputStream。

如果您需要讀取或寫入整數,長整型等文件,那麼這些是您的類。

如果您只是想轉換爲其他用途的字節,請查看這些類的源代碼,然後轉換爲big-endian。

0

當序列化時,Java使用的標準編碼方法就像你自己的想法一樣,簡單地將字段翻譯爲字節流。

原始數據以及非瞬態的非靜態引用對象被編碼到流中。每個被序列化對象引用的對象也必須被序列化。

其他語言(例如PHP)會序列化爲非常易讀的格式,某些實現將序列化爲JSON或XML。

儘管如此,真正的序列化應該是數據的二進制byte-per-byte表示。這樣就可以將所有數據快速讀入內存並且可以按原樣執行。