java
                
              java nio의 주요 클래스인 ByteBuffer 클래스의 주요 메소드를 이해하기 위한 코드
                알 수 없는 사용자
                 2007. 12. 13. 10:13
              
              
            
            java nio의 주요 클래스인 ByteBuffer 클래스의 주요 메소드를 이해하기 위한 코드
src
ByteBuffer buffer = ByteBuffer.allocate(10);
buffer.put((byte) 0);
buffer.put((byte) 1);
System.out.println("put 0,1 - " + buffer + ", remain="
		+ buffer.remaining());
buffer.mark();
System.out.println("mark - " + buffer + ", remain="
		+ buffer.remaining());
buffer.put((byte) 2);
buffer.put((byte) 3);
System.out.println("put 2,3 - " + buffer + ", remain="
		+ buffer.remaining());
buffer.reset();
System.out.println("reset - " + buffer + ", remain="
		+ buffer.remaining());
buffer.flip();
System.out.println("flip - " + buffer + ", remain="
		+ buffer.remaining());
FileOutputStream fos = new FileOutputStream("c:/z/a.txt");
FileChannel fcOut = fos.getChannel();
fcOut.write(buffer);
System.out.println("write to file channel a.txt - " + buffer
		+ ", remain=" + buffer.remaining());
fcOut.close();
buffer.rewind();
System.out.println("rewind - " + buffer + ", remain="
		+ buffer.remaining());
fos = new FileOutputStream("c:/z/b.txt");
fcOut = fos.getChannel();
fcOut.write(buffer);
System.out.println("write to file channel b.txt - " + buffer
		+ ", remain=" + buffer.remaining());
fcOut.close();
result
put 0,1 - java.nio.HeapByteBuffer[pos=2 lim=10 cap=10], remain=8 mark - java.nio.HeapByteBuffer[pos=2 lim=10 cap=10], remain=8 put 2,3 - java.nio.HeapByteBuffer[pos=4 lim=10 cap=10], remain=6 reset - java.nio.HeapByteBuffer[pos=2 lim=10 cap=10], remain=8 flip - java.nio.HeapByteBuffer[pos=0 lim=2 cap=10], remain=2 write to file channel a.txt - java.nio.HeapByteBuffer[pos=2 lim=2 cap=10], remain=0 rewind - java.nio.HeapByteBuffer[pos=0 lim=2 cap=10], remain=2 write to file channel b.txt - java.nio.HeapByteBuffer[pos=2 lim=2 cap=10], remain=0