Mega Code Archive

 
Categories / Java / File Input Output
 

Endian differences and data storage

// : c12:Endians.java // Endian differences and data storage. // From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002 // www.BruceEckel.com. See copyright notice in CopyRight.txt. import java.nio.ByteBuffer; import java.nio.ByteOrder; public class Endians {   public static void main(String[] args) {     ByteBuffer bb = ByteBuffer.wrap(new byte[12]);     bb.asCharBuffer().put("abcdef");     System.out.println(toString(bb.array()));     bb.rewind();     bb.order(ByteOrder.BIG_ENDIAN);     bb.asCharBuffer().put("abcdef");     System.out.println(toString(bb.array()));     bb.rewind();     bb.order(ByteOrder.LITTLE_ENDIAN);     bb.asCharBuffer().put("abcdef");     System.out.println(toString(bb.array()));   }   static String toString(byte[] a) {     StringBuffer result = new StringBuffer("[");     for (int i = 0; i < a.length; i++) {       result.append(a[i]);       if (i < a.length - 1)         result.append(", ");     }     result.append("]");     return result.toString();   } } ///:~