java.io 패키지 : 데이터 읽고 쓰기 데이터를 읽는 대상(읽기용 빨대를 꽂는 대상, in = read) - 파일 데이터, 키보드, 네트워크, 이미지나 동영상 데이터 데이터를 쓰는 대상(쓰기용 빨대를 꽂는 대상, out = write) - 파일 데이터, 모니터의 화면, 네트워크를 통한 데이터 전송 InputStream(1byte), OutputStream(1byte), Reader(2byte(char)), Reader(2byte(char)) - 주로 Input, Output 씀 거의 대부분의 데이터는 byte 단위임 InputStream을 구하는 방법 두가지 : 어떤 클래스 자체로 설계되어서 객체를 생성하는 방식, 어떤 클래스의 메소드의 리턴 타입으로 InputStream 타입의 객체를 반환하는 방식(Socket) read() - 1byte의 데이터를 int타입으로 반환 read(byte[] b) - 원하는 byte를 지정 가능, 4byte= 버퍼 InputStream in = new FileInputStream( "C:\\newjava\\aaa.txt" ); while ( true ) { //한 바이트를 읽어들인 결과 int data = in. read (); System. out . println (data); if (data == - 1 ) { break ; } } while 구문을 사용한 이유는 몇 번이나 루프를 돌아야 하는지 판단 할수 없을 때 사용함 -1은 더 읽어들일 데이터가 없는 경우 OutputStream을 구하는 방법 두가지 : 어떤 클래스 자체로 설계되어서 객체를 생성하는 방식, 어떤 클래스의 메소드의 리턴 타입으로 OutputStream 타입의 객체를 반환하는 방식 write(int) - 1byte에 해당하는 데이터를 기록할 때 ...