The read methods (
readDouble()) and the corresponding write methods defined by class
java.io.DataInputStream and class
java.io.DataOutputStream operate only on big-endian data. Use of these methods while interoperating with traditional languages, such as C or and C++, is insecure because such languages lack any guarantees about endianness. This noncompliant code example shows such a discrepancy:
"On Holy Wars and a Plea for Peace"
Chapter 2, "Primitive Data Types, Cross-Platform Issues"