NIO 001

填充和释放缓冲区
package com.yale.life.nio;

import java.nio.CharBuffer;

/**
 * 填充和释放缓冲区
 * @author Ron Hitchens
 *
 */
public class BufferFillDrain
{
	public static void main(String[] args)
	{
		CharBuffer buffer = CharBuffer.allocate(100);
		while(fillBuffer(buffer)){
			buffer.flip();
			drainBuffer(buffer);
			buffer.clear();
		}
		
	}
	
	private static void drainBuffer(CharBuffer buffer)
	{
		while(buffer.hasRemaining())
		{
			System.out.println(buffer.get());
		}
		System.out.println(" ");
	}
	private static boolean fillBuffer(CharBuffer buffer)
	{
		if(index >= strings.length)
		{
			return (false);
		}
		String str = strings[index++];
		for(int i=0;i<str.length();i++)
		{
			buffer.put(str.charAt(i));
		}
		return (true);
	}
	private static int index = 0;
	
	private static String[] strings={"A random string value",
		"The product of an infinite number of monkeys",
		"if you like nio please go  go go",
		"Help me Help me"
	};
}

你可能感兴趣的:(nio)