프로그래머의 삶 Programmer's Life/Java!!

NIO - 스트림에서 쓰기 가능 읽기가능 읽기쓰기가능한 채널 생성예

Oliver's World 2008. 11. 1. 15:11
728x90

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class GetChannel {
 private static final int BSIZE = 1024;

 public static void main(String[] args) throws Exception {
  FileChannel fc = new FileOutputStream("data.txt").getChannel();
  fc.write(ByteBuffer.wrap("Some text ".getBytes()));
  fc.close();
  fc = new RandomAccessFile("data.txt", "rw").getChannel();
  fc.position(fc.size());
  fc.write(ByteBuffer.wrap("Some more".getBytes()));
  fc.close();
 
  fc = new FileInputStream("data.txt").getChannel();
  ByteBuffer buff = ByteBuffer.allocate(BSIZE);
  fc.read(buff);
  buff.flip();
  while (buff.hasRemaining()) {
   System.out.print((char) buff.get());
  }
 }

}

728x90