※ 引述《TonyQ (骨頭)》之銘言:
: 搞懂了
: 原來是存檔是 byte從低階存到高階 (little-endian)
: 還有從高階存到低階 (big-endian) 兩者在讀檔上不同所造成的問題。
: Java預設是big-endian,我讀的檔案剛好是little-endian,orzorz
: 我找到一個參考用的InputStream (它繼承DataInputStream 做擴充)
: http://www.cs.cornell.edu/courses/cs212/2001fa/
: Project/Part1/le/LEDataInputStream.java.
: 總算解決這個問題了。(淚)
哈...原來也有別人這樣惡搞耶 XD
不過我當時不是用 Inherit 而是用 composition
(因為Data_Input/Output_Stream 大部分 method 都是 final)
雖然說 nio 是能夠解 endian 這問題,不過對我來說實在太不直覺了 :p
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.131.67.175