package com.ronsoft.books.nio.buffers; import java.nio.Buffer; import java.nio.ByteBuffer; import java.nio.CharBuffer; import java.nio.ByteOrder; /** * Test asCharBuffer view. * * Created May 2002 * @author Ron Hitchens (ron@ronsoft.com) * @version $Id: BufferCharView.java,v 1.2 2002/05/20 07:24:24 ron Exp $ */ public class BufferCharView { public static void main (String [] argv) throws Exception { ByteBuffer byteBuffer = ByteBuffer.allocate (7).order (ByteOrder.BIG_ENDIAN); CharBuffer charBuffer = byteBuffer.asCharBuffer(); // load the ByteBuffer with some bytes byteBuffer.put (0, (byte)0); byteBuffer.put (1, (byte)'H'); byteBuffer.put (2, (byte)0); byteBuffer.put (3, (byte)'i'); byteBuffer.put (4, (byte)0); byteBuffer.put (5, (byte)'!'); byteBuffer.put (6, (byte)0); println (byteBuffer); println (charBuffer); // now slice it differently byteBuffer.position (4); charBuffer = byteBuffer.asCharBuffer(); println (byteBuffer); println (charBuffer); } // Print info about a buffer private static void println (Buffer buffer) { System.out.println ("pos=" + buffer.position() + ", limit=" + buffer.limit() + ", capacity=" + buffer.capacity() + ": '" + buffer.toString() + "'"); } }