JAVA /IO & NIO

NIO 의 기본 구성

Safeguard 2013. 3. 3. 02:19

 

1. 기존 io 와 같이 스트림 연결

예)

File f= new File("abc.txt");

FileInputStream fis = new FIleInputStream(f);

2. 스트림에서 채널 얻어 내기.

FileChannel fc =  fis.getChannel();

3. 입 출력에 사용할 버퍼 생성 하기..

ByteBuffer bb = ByteBuffer.allocate(2048);

출력할 객체 만들기

FileOutputStream fos = new FileOutputStream(FileDescriptor.out) -> 콘솔 출력

FileChannel fc1 = fos.getChannel(); 채널얻어오고.

읽고 쓰기는 채널을 이용함.

fc.read(bb) // 읽고 쓸때 저장공간은 바이트버퍼를 이용함.

// 읽거나 쓸 준비를 버퍼에 알림

bb.flip();

fc1.write(bb)

// 버퍼 다 쓴 후, 클리어 시킴

bb.clear();

 

// 모든게 다 끈나면 클로즈!

fc.close();

fc1.close();

fis.close();

fos.close();

----

기존 IO 보다 속도가 빨라짐..(블록단위 송수신함 )