ByteBuffer
Use ByteBuffer to store Strings
This is an example of how to store Strings using a ByteBuffer in Java. In order to use a ByteBuffer to store Strings in Java we have to :
- Allocate a new ByteBuffer and set its size to a number large enough in order to avoid buffer to overflow when putting bytes to it
- Use the
asCharBuffer()
API method so as to be able to put characters directly into the byte buffer - Using the
put(String)
API method we can put a String directly to the byte buffer - The
toString()
API method returns the string representation of the ByteBuffer’s contents. Do not forget toflip()
the ByteBuffer since thetoString()
API method displays ByteBuffer’s contents from the current buffer’s position on-wards
as shown in the code snippet below.
package com.javacodegeeks.snippets.core; import java.nio.ByteBuffer; import java.nio.CharBuffer; public class UseByteBufferToStoreStrings { public static void main(String[] args) { // Allocate a new non-direct byte buffer with a 50 byte capacity // set this to a big value to avoid BufferOverflowException ByteBuffer buf = ByteBuffer.allocate(50); // Creates a view of this byte buffer as a char buffer CharBuffer cbuf = buf.asCharBuffer(); // Write a string to char buffer cbuf.put("Java Code Geeks"); // Flips this buffer. The limit is set to the current position and then // the position is set to zero. If the mark is defined then it is discarded cbuf.flip(); String s = cbuf.toString(); // a string System.out.println(s); } }
Output:
Java Code Geeks
This was an example of how to use a ByteBuffer to store Strings in Java.