<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FFile%2FByteBuffer</id>
		<title>Java Tutorial/File/ByteBuffer - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FFile%2FByteBuffer"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/File/ByteBuffer&amp;action=history"/>
		<updated>2026-04-23T08:52:42Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/File/ByteBuffer&amp;diff=5400&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/File/ByteBuffer&amp;diff=5400&amp;oldid=prev"/>
				<updated>2010-06-01T05:20:21Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 05:20, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/File/ByteBuffer&amp;diff=5399&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/File/ByteBuffer&amp;diff=5399&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  A ByteBuffer is a fixed-capacity buffer that holds byte values. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    &lt;br /&gt;
    byte[] bytes = new byte[10];&lt;br /&gt;
    ByteBuffer buf = ByteBuffer.wrap(bytes);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Allocation automatically zeroes the ByteBuffer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  private static final int BSIZE = 1024;&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    ByteBuffer bb = ByteBuffer.allocate(BSIZE);&lt;br /&gt;
     int i = 0;&lt;br /&gt;
    while (i++ &amp;lt; bb.limit())&lt;br /&gt;
      if (bb.get() != 0)&lt;br /&gt;
        System.out.println(&amp;quot;nonzero&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;i = &amp;quot; + i);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  ByteBuffer.hasRemaining() ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    ByteBuffer bb = ByteBuffer.wrap(new byte[] { 0, 0, 0, 0, 0, 0, 0, &amp;quot;a&amp;quot; });&lt;br /&gt;
    bb.rewind();&lt;br /&gt;
    System.out.println(&amp;quot;Byte Buffer&amp;quot;);&lt;br /&gt;
    while (bb.hasRemaining())&lt;br /&gt;
      System.out.println(bb.position() + &amp;quot; -&amp;gt; &amp;quot; + bb.get());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/**/&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Byte Buffer&lt;br /&gt;
0 -&amp;gt; 0&lt;br /&gt;
1 -&amp;gt; 0&lt;br /&gt;
2 -&amp;gt; 0&lt;br /&gt;
3 -&amp;gt; 0&lt;br /&gt;
4 -&amp;gt; 0&lt;br /&gt;
5 -&amp;gt; 0&lt;br /&gt;
6 -&amp;gt; 0&lt;br /&gt;
7 -&amp;gt; 97&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Converting Between a ByteBuffer an a Byte Array ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    // Create a ByteBuffer from a byte array&lt;br /&gt;
    byte[] bytes = new byte[10];&lt;br /&gt;
    ByteBuffer buf = ByteBuffer.wrap(bytes);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Converting text to and from ByteBuffers ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
import java.nio.channels.FileChannel;&lt;br /&gt;
import java.nio.charset.Charset;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  private static final int BSIZE = 1024;&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    FileChannel fc = new FileOutputStream(&amp;quot;data2.txt&amp;quot;).getChannel();&lt;br /&gt;
    fc.write(ByteBuffer.wrap(&amp;quot;Some text&amp;quot;.getBytes()));&lt;br /&gt;
    fc.close();&lt;br /&gt;
    fc = new FileInputStream(&amp;quot;data2.txt&amp;quot;).getChannel();&lt;br /&gt;
    ByteBuffer buff = ByteBuffer.allocate(BSIZE);&lt;br /&gt;
    fc.read(buff);&lt;br /&gt;
    buff.flip();&lt;br /&gt;
    System.out.println(buff.asCharBuffer());&lt;br /&gt;
    // Decode using this system&amp;quot;s default Charset:&lt;br /&gt;
    buff.rewind();&lt;br /&gt;
    String encoding = System.getProperty(&amp;quot;file.encoding&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;Decoded using &amp;quot; + encoding + &amp;quot;: &amp;quot; + Charset.forName(encoding).decode(buff));&lt;br /&gt;
    // Or, we could encode with something that will print:&lt;br /&gt;
    fc = new FileOutputStream(&amp;quot;data2.txt&amp;quot;).getChannel();&lt;br /&gt;
    fc.write(ByteBuffer.wrap(&amp;quot;Some text&amp;quot;.getBytes(&amp;quot;UTF-16BE&amp;quot;)));&lt;br /&gt;
    fc.close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/**/&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;????&lt;br /&gt;
Decoded using Cp1252: Some text&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Converting text to and from ByteBuffers with UTF-16BE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
import java.nio.channels.FileChannel;&lt;br /&gt;
import java.nio.charset.Charset;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  private static final int BSIZE = 1024;&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    FileChannel fc = new FileOutputStream(&amp;quot;data2.txt&amp;quot;).getChannel();&lt;br /&gt;
    fc.write(ByteBuffer.wrap(&lt;br /&gt;
      &amp;quot;Some text&amp;quot;.getBytes(&amp;quot;UTF-16BE&amp;quot;)));&lt;br /&gt;
    fc.close();&lt;br /&gt;
    ByteBuffer buff = ByteBuffer.allocate(BSIZE);&lt;br /&gt;
    // Now try reading again:&lt;br /&gt;
    fc = new FileInputStream(&amp;quot;data2.txt&amp;quot;).getChannel();&lt;br /&gt;
    buff.clear();&lt;br /&gt;
    fc.read(buff);&lt;br /&gt;
    buff.flip();&lt;br /&gt;
    System.out.println(buff.asCharBuffer());&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/**/&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Some text&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Create a ByteBuffer using a byte array ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    &lt;br /&gt;
    byte[] bytes = new byte[10];&lt;br /&gt;
    ByteBuffer buf = ByteBuffer.wrap(bytes);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Create a direct (memory-mapped) ByteBuffer with a 10 byte capacity. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    ByteBuffer buf = ByteBuffer.allocateDirect(10);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Create a non-direct ByteBuffer with a 10 byte capacity ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    ByteBuffer buf = ByteBuffer.allocate(10);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Endian differences and data storage ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
import java.nio.ByteOrder;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    ByteBuffer bb = ByteBuffer.wrap(new byte[12]);&lt;br /&gt;
    bb.asCharBuffer().put(&amp;quot;abcdef&amp;quot;);&lt;br /&gt;
    System.out.println(toString(bb.array()));&lt;br /&gt;
    bb.rewind();&lt;br /&gt;
    bb.order(ByteOrder.BIG_ENDIAN);&lt;br /&gt;
    bb.asCharBuffer().put(&amp;quot;abcdef&amp;quot;);&lt;br /&gt;
    System.out.println(toString(bb.array()));&lt;br /&gt;
    bb.rewind();&lt;br /&gt;
    bb.order(ByteOrder.LITTLE_ENDIAN);&lt;br /&gt;
    bb.asCharBuffer().put(&amp;quot;abcdef&amp;quot;);&lt;br /&gt;
    System.out.println(toString(bb.array()));&lt;br /&gt;
  }&lt;br /&gt;
  public static String toString(byte[] a) {&lt;br /&gt;
    StringBuffer result = new StringBuffer(&amp;quot;[&amp;quot;);&lt;br /&gt;
    for (int i = 0; i &amp;lt; a.length; i++) {&lt;br /&gt;
      result.append(a[i]);&lt;br /&gt;
      if (i &amp;lt; a.length - 1)&lt;br /&gt;
        result.append(&amp;quot;, &amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    result.append(&amp;quot;]&amp;quot;);&lt;br /&gt;
    return result.toString();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/*&lt;br /&gt;
 * [0, 97, 0, 98, 0, 99, 0, 100, 0, 101, 0, 102] [0, 97, 0, 98, 0, 99, 0, 100,&lt;br /&gt;
 * 0, 101, 0, 102] [97, 0, 98, 0, 99, 0, 100, 0, 101, 0, 102, 0]&lt;br /&gt;
 */&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get remaining byte count in a ByteBuffer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    ByteBuffer buf = ByteBuffer.allocateDirect(10);&lt;br /&gt;
    int rem = buf.remaining();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get the ByteBuffer&amp;quot;s capacity ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    ByteBuffer buf = ByteBuffer.allocateDirect(10);&lt;br /&gt;
    int capacity = buf.capacity(); // 10&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Putting Bytes into a ByteBuffer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    ByteBuffer bbuf = ByteBuffer.allocate(10);&lt;br /&gt;
    int capacity = bbuf.capacity(); // 10&lt;br /&gt;
    System.out.println(capacity);&lt;br /&gt;
    bbuf.put((byte) 0xFF); &lt;br /&gt;
    bbuf.position(5);&lt;br /&gt;
    bbuf.put((byte) 0xFF);&lt;br /&gt;
    int pos = bbuf.position(); &lt;br /&gt;
    int rem = bbuf.remaining();&lt;br /&gt;
    bbuf.limit(7); &lt;br /&gt;
    bbuf.rewind(); &lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Read from a channel with a ByteBuffer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
import java.nio.channels.ReadableByteChannel;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    ReadableByteChannel channel = new FileInputStream(&amp;quot;infile&amp;quot;).getChannel();&lt;br /&gt;
    ByteBuffer buf = ByteBuffer.allocateDirect(10);&lt;br /&gt;
    int numRead = 0;&lt;br /&gt;
    while (numRead &amp;gt;= 0) {&lt;br /&gt;
      buf.rewind();&lt;br /&gt;
      numRead = channel.read(buf);&lt;br /&gt;
      buf.rewind();&lt;br /&gt;
      for (int i = 0; i &amp;lt; numRead; i++) {&lt;br /&gt;
        byte b = buf.get();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Retrieve all bytes in the buffer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[] bytes = new byte[10];&lt;br /&gt;
    ByteBuffer buf = ByteBuffer.wrap(bytes);&lt;br /&gt;
    buf.clear();&lt;br /&gt;
    bytes = new byte[buf.capacity()];&lt;br /&gt;
    buf.get(bytes, 0, bytes.length);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Retrieve bytes between the position and limit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[] bytes = new byte[10];&lt;br /&gt;
    ByteBuffer buf = ByteBuffer.wrap(bytes);&lt;br /&gt;
    bytes = new byte[buf.remaining()];&lt;br /&gt;
    buf.get(bytes, 0, bytes.length);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Rewind a ByteBuffer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  private static final int BSIZE = 1024;&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    ByteBuffer bb = ByteBuffer.allocate(BSIZE);&lt;br /&gt;
    bb.asCharBuffer().put(&amp;quot;Howdy!&amp;quot;);&lt;br /&gt;
    char c;&lt;br /&gt;
    while ((c = bb.getChar()) != 0)&lt;br /&gt;
      System.out.print(c + &amp;quot; &amp;quot;);&lt;br /&gt;
    System.out.println();&lt;br /&gt;
    bb.rewind();&lt;br /&gt;
    // Store and read a short:&lt;br /&gt;
    bb.asShortBuffer().put((short) 471142);&lt;br /&gt;
    System.out.println(bb.getShort());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/**/&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;H o w d y ! &lt;br /&gt;
12390&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Set the limit for ByteBuffer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    ByteBuffer buf = ByteBuffer.allocateDirect(10);&lt;br /&gt;
    buf.limit(7); // remaining=1&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Set the position ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    ByteBuffer buf = ByteBuffer.allocateDirect(10);&lt;br /&gt;
    buf.position(5);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Store and read a char array ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  private static final int BSIZE = 1024;&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    ByteBuffer bb = ByteBuffer.allocate(BSIZE);&lt;br /&gt;
    bb.asCharBuffer().put(&amp;quot;Howdy!&amp;quot;);&lt;br /&gt;
    char c;&lt;br /&gt;
    while ((c = bb.getChar()) != 0)&lt;br /&gt;
      System.out.print(c + &amp;quot; &amp;quot;);&lt;br /&gt;
    System.out.println();&lt;br /&gt;
  }&lt;br /&gt;
}//&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;H o w d y !&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Store and read a double ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  private static final int BSIZE = 1024;&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    ByteBuffer bb = ByteBuffer.allocate(BSIZE);&lt;br /&gt;
    bb.asDoubleBuffer().put(99471142);&lt;br /&gt;
    System.out.println(bb.getDouble());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/*&lt;br /&gt;
*/&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;9.9471142E7&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Store and read a float ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  private static final int BSIZE = 1024;&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    ByteBuffer bb = ByteBuffer.allocate(BSIZE);&lt;br /&gt;
    bb.asFloatBuffer().put(99471142);&lt;br /&gt;
    System.out.println(bb.getFloat());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/**/&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;9.9471144E7&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Store and read a long ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  private static final int BSIZE = 1024;&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    ByteBuffer bb = ByteBuffer.allocate(BSIZE);&lt;br /&gt;
    bb.asLongBuffer().put(99472342341142L);&lt;br /&gt;
    System.out.println(bb.getLong());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/**/&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;99472342341142&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Store and read an int ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  private static final int BSIZE = 1024;&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    ByteBuffer bb = ByteBuffer.allocate(BSIZE);&lt;br /&gt;
    bb.asIntBuffer().put(99471142);&lt;br /&gt;
    System.out.println(bb.getInt());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/**/&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;99471142&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Store and read a short ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  private static final int BSIZE = 1024;&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    ByteBuffer bb = ByteBuffer.allocate(BSIZE);&lt;br /&gt;
    bb.asCharBuffer().put(&amp;quot;Howdy!&amp;quot;);&lt;br /&gt;
    char c;&lt;br /&gt;
    while ((c = bb.getChar()) != 0)&lt;br /&gt;
      System.out.print(c + &amp;quot; &amp;quot;);&lt;br /&gt;
    System.out.println();&lt;br /&gt;
    bb.rewind();&lt;br /&gt;
    // Store and read a short:&lt;br /&gt;
    bb.asShortBuffer().put((short) 471142);&lt;br /&gt;
    System.out.println(bb.getShort());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/**/&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;H o w d y ! &lt;br /&gt;
12390&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Test views of long elements in a ByteBuffer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
import java.nio.ByteOrder;&lt;br /&gt;
/**&lt;br /&gt;
 * Test views of long elements in a ByteBuffer.&lt;br /&gt;
 * &lt;br /&gt;
 */&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    ByteBuffer bb = ByteBuffer.allocate(20);&lt;br /&gt;
    bb.put((byte) 0x07);&lt;br /&gt;
    bb.put((byte) 0x08);&lt;br /&gt;
    bb.put((byte) 0x09);&lt;br /&gt;
    bb.put((byte) 0x10);&lt;br /&gt;
    bb.put((byte) 0x11);&lt;br /&gt;
    bb.put((byte) 0x12);&lt;br /&gt;
    bb.put((byte) 0x13);&lt;br /&gt;
    bb.put((byte) 0x14);&lt;br /&gt;
    bb.position(1).limit(5);&lt;br /&gt;
    bb.mark();&lt;br /&gt;
    System.out.println(&amp;quot;Expect an exception here&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;&amp;quot; + bb.order().toString() + &amp;quot;: &amp;quot; + bb.getLong());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/**/&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Expect an exception here&lt;br /&gt;
Exception in thread &amp;quot;main&amp;quot; java.nio.BufferUnderflowException&lt;br /&gt;
  at java.nio.Buffer.nextGetIndex(Buffer.java:404)&lt;br /&gt;
  at java.nio.HeapByteBuffer.getLong(HeapByteBuffer.java:387)&lt;br /&gt;
  at MainClass.main(MainClass.java:25)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  This convenience method sets the position to 0 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    ByteBuffer buf = ByteBuffer.allocateDirect(10);&lt;br /&gt;
    buf.rewind(); // remaining=7&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Use FileChannel and ByteBuffer to Copy File ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
import java.nio.channels.FileChannel;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    String source = &amp;quot;s.txt&amp;quot;;&lt;br /&gt;
    String destination = &amp;quot;d.txt&amp;quot;;&lt;br /&gt;
    FileInputStream fis = new FileInputStream(source);&lt;br /&gt;
    FileOutputStream fos = new FileOutputStream(destination);&lt;br /&gt;
    FileChannel fci = fis.getChannel();&lt;br /&gt;
    FileChannel fco = fos.getChannel();&lt;br /&gt;
    ByteBuffer buffer = ByteBuffer.allocate(1024);&lt;br /&gt;
    while (true) {&lt;br /&gt;
      int read = fci.read(buffer);&lt;br /&gt;
      if (read == -1)&lt;br /&gt;
        break;&lt;br /&gt;
      buffer.flip();&lt;br /&gt;
      fco.write(buffer);&lt;br /&gt;
      buffer.clear();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Use the absolute get(). ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    ByteBuffer buf = ByteBuffer.allocateDirect(10);&lt;br /&gt;
    byte b = buf.get(5); // position=0&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Use the relative get() ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    ByteBuffer buf = ByteBuffer.allocateDirect(10);&lt;br /&gt;
    byte b = buf.get();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Use while loop to read a ByteBuffer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    ByteBuffer bb = ByteBuffer.wrap(new byte[] { 0, 0, 0, 0, 0, 0, 0, &amp;quot;a&amp;quot; });&lt;br /&gt;
    bb.rewind();&lt;br /&gt;
    System.out.println(&amp;quot;Byte Buffer&amp;quot;);&lt;br /&gt;
    while (bb.hasRemaining())&lt;br /&gt;
      System.out.println(bb.position() + &amp;quot; -&amp;gt; &amp;quot; + bb.get());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/**/&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Byte Buffer&lt;br /&gt;
0 -&amp;gt; 0&lt;br /&gt;
1 -&amp;gt; 0&lt;br /&gt;
2 -&amp;gt; 0&lt;br /&gt;
3 -&amp;gt; 0&lt;br /&gt;
4 -&amp;gt; 0&lt;br /&gt;
5 -&amp;gt; 0&lt;br /&gt;
6 -&amp;gt; 0&lt;br /&gt;
7 -&amp;gt; 97&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>