NIO Buffer Slice

 

 
package com.ls.java.newio;

import java.nio.ByteBuffer;

public class TestSlice {
	
	public static void main(String[] args) {
		ByteBuffer buffer = ByteBuffer.allocate(10);
		for(int i=0; i<buffer.capacity(); ++i) 
			buffer.put((byte) i);
		buffer.position(0);
		buffer.limit(buffer.capacity());
		while(buffer.remaining()>0)
			System.out.print(buffer.get() + "---");
		System.out.println("============================");
		
		buffer.position(3);
		buffer.limit(7);
		ByteBuffer slice = buffer.slice();
		for(int i=0; i<slice.capacity(); ++i)
			slice.put(i, (byte) (slice.get(i) * 5));
		
		while(slice.remaining()>0)
			System.out.print(slice.get() + "---");
		
		System.out.println("============================");
		buffer.position(0);
		buffer.limit(buffer.capacity());
		while(buffer.remaining()>0)
			System.out.print(buffer.get() + "---");
	}
	
}
 

 

 

 

你可能感兴趣的:(java)