본문 바로가기
language/java

I/O의 기본 개념 & Stream

by vamalboro 2008. 1. 21.
I/O의 기본개념

I/O

 - 컴퓨터의 주변 매체를 통해 특정 Data를 입력(키보드, 마우스, 네트워크, 파일등) 시키거나,
    특정 Data를 주변 매체를 통해 출력(화면, 프린터, 플로터, 네트워크, 파일등) 시키는 일련의 행위이다.

I/O의 기본 전송 방식

Stream이란 일련의 흐름을 말한다.

 - Binary Stream = 2진 Data의 입출력 방식 0과 1로 구성된 데이터의 흐름(1byte 단위 구성의 입출력)

 - Character Stream = Unicode로 불리는 2byte 단위로 구성된 데이터의 흐름(실제 전송은 1byte로 변환   된 후 전송되고 다시 구성됨)

I/O의 자료형
 - 수지형 Data : Byte, short, int, long, float, double
 - 문자형 Data : char(ASCII(7bit), Latin-1(8bit), Unicode(16bit), UTF-8(24bit)), String
 - 논리형 Data : boolean(true & false)

OutputStream

OutputStream의 write(int) 메소드는 무조건 오버라이딩 되야함...허나.

직접적으로 오버라이딩할 방법은 native코드로.......C언어와 연동되어야함.

편법으로 System.out 의 PrintStream값을 얻어와 (이미 native로 구현되어있음) write(int)를 호출 하는 방법이 있음

ex )
private PrintStream ps = System.out;
public void write(int i) {
    ps.write(i);
    ps.flush();      // 기본적으로 버퍼에 출력하기땜시롱 콘솔로 보여주려면 flush()호출
}

InputStream

InputStream의 read() 메소드 또한 위와 같음. (System.in의 InputStream을 얻어와 read()를 호출하는 방법
public int read() throws IOException {
    int xx = is.read();
    if (xx == '\n') {
            return -1;
    }
    return xx;
}
                                     
                                                                                      - 2008. 01. 21(월) 01:51-