Mega Code Archive

 
Categories / Java / File Input Output
 

Getting different representations from a ByteBuffer

// : c12:GetData.java // Getting different representations from a ByteBuffer // From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002 // www.BruceEckel.com. See copyright notice in CopyRight.txt. import java.nio.ByteBuffer; public class GetData {   private static final int BSIZE = 1024;   public static void main(String[] args) {     ByteBuffer bb = ByteBuffer.allocate(BSIZE);     // Allocation automatically zeroes the ByteBuffer:     int i = 0;     while (i++ < bb.limit())       if (bb.get() != 0)         System.out.println("nonzero");     System.out.println("i = " + i);     bb.rewind();     // Store and read a char array:     bb.asCharBuffer().put("Howdy!");     char c;     while ((c = bb.getChar()) != 0)       System.out.print(c + " ");     System.out.println();     bb.rewind();     // Store and read a short:     bb.asShortBuffer().put((short) 471142);     System.out.println(bb.getShort());     bb.rewind();     // Store and read an int:     bb.asIntBuffer().put(99471142);     System.out.println(bb.getInt());     bb.rewind();     // Store and read a long:     bb.asLongBuffer().put(99471142);     System.out.println(bb.getLong());     bb.rewind();     // Store and read a float:     bb.asFloatBuffer().put(99471142);     System.out.println(bb.getFloat());     bb.rewind();     // Store and read a double:     bb.asDoubleBuffer().put(99471142);     System.out.println(bb.getDouble());     bb.rewind();   } } ///:~