Endian differences and data storage : Buffering « File Input Output « Java






Endian differences and data storage

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();
  }
} ///:~
           
         
    
    
    
    
  








Related examples in the same category

1.View BuffersView Buffers
2.Using BuffersUsing Buffers
3.Output BufferingOutput Buffering
4.Getting different representations from a ByteBufferGetting different representations from a ByteBuffer
5.Manipulating ints in a ByteBuffer with an IntBufferManipulating ints in a ByteBuffer with an IntBuffer
6.Circular Byte Buffer
7.Circular Char Buffer from http://ostermiller.org
8.Buffered copying
9.Byte Buffer
10.Circular Char Buffer
11.Char Buffer
12.Caching InputStream
13.Caching OutputStream
14.ByteBuffer FloatBuffer demo