T Buffered Reader Input Stream Reader File Reader











문자 스트림 T 문자 스트림과 연관된 클래스 Buffered. Reader Input. Stream. Reader File. Reader Buffered. Writer Output. Stream. Writer Print. Writer File. Writer Object Writer 11 11




(2) 입출력 예외 처리 T 입출력 예외 처리의 일반적인 예 public static void main(String args[]) throws IOException {. . . // 예외를 호출한 메소드로 넘겨주는 방법 IO와 관련된 Exception을 처리 Exception 만 써주는게 더 넓은 의미 File. Writer fw = new File. Writer(args[0]); 로 예외 처리. . . fw. write("Line " + i + ""); . . . fw. close(); } public static void main(String args[]) { // 예외를 직접 처리하는 방법 try { // 예외 발생 가능 영역 지정 File. Writer fw = new File. Writer(args[0]); . . . fw. write("Line " + i + ""); . . . fw. close(); } catch(IOException e) { // 예외 처리 루틴 작성 System. our. println("Exception: " + e); }. . 15 15

문자 스트림 (3) Output. Stream. Writer 클래스와 Input. Stream. Reader 클래스 T Output. Stream. Writer 클래스 ÜWriter 클래스로부터 상속된 클래스 Ü문자 스트림을 바이트 스트림으로 변환하는 기능을 제공 Ü생성자 Output. Stream. Writer(Output. Stream outstreams) Output. Stream. Writer(Output. Stream outstreams, String encoding) outstreams : 바이트 스트림으로 변환되어 출력될 출력스트림 encoding : 변환 방법 Ü메소드 String get. Encoding() // 스트림의 변환 방법을 반환하는 메소드 16 16

문자 스트림 (3) Output. Stream. Writer 클래스와 Input. Stream. Reader 클래스 T Input. Stream. Reader 클래스 ÜReader 클래스로부터 상속된 클래스 Ü바이트 스트림을 문자 스트림으로 변환하는 기능을 제공 Ü생성자 Input. Stream. Reader(Input. Stream instreams) Input. Stream. Reader(Input. Stream instreams, String encoding) instreams : 입력될 바이트 타입의 스트림(Input. Stream 클래스) encoding : 변환 방법 Ü메소드 String get. Encoding() // 스트림의 변환 방법을 반환하는 메소드 17 17

문자 스트림 (3) Output. Stream. Writer 클래스와 Input. Stream. Reader 클래스 write() 문자(characters) Output. Stream. Writer Input. Stream 바이트(byte) 문자를 바이트로 변환 Input. Stream. Reader 바이트(byte) 바이트를 문자로 변환 Output. Stream 문자(characters) read() 18 18

문자 스트림 (4) File. Writer 클래스와 File. Reader 클래스 T File. Writer 클래스 ÜOutput. Stream. Writer 클래스로부터 상속된 클래스 Ü파일에 문자를 출력하는 기능을 제공 Ü생성자 File. Writer(String filepath) throws IOException File. Writer(String filepath, boolean append) throws IOException //boolean append : default는 false / false-기존 내용 지우고 작성 //true – 기존 내용 뒤에 작성 File. Writer(File file. Obj) throws IOException filepath : 파일의 이름(경로명 포함) file. Obj : 특정 파일을 지정하고 있는 File 객체 append : true이면 파일의 끝에 문자를 첨가하고, false이면 기존 문자위에 겹쳐 출력 19 19


문자 스트림 (4) File. Writer 클래스와 File. Reader 클래스 write() 문자(characters) 파일 File. Writer 바이트(byte) File. Reader 파일 문자(characters) read() 21 21



문자 스트림 (5) Buffered. Writer 클래스와 Buffered. Reader 클래스 T Buffered. Reader 클래스 ÜReader 클래스의 하위 클래스 Ü문자 스트림의 입력 시 버퍼를 사용 Ü생성자 Buffered. Reader(Reader input. Stream) Buffered. Reader(Reader input. Stream, int buf. Size) input. Stream : Reader 타입의 객체로서 입력 스트림을 의미 buf. Size : 버퍼의 크기를 지정 Ü메소드 void read. Line() throws IOException // 한 라인을 읽어 온다 24 24

문자 스트림 (5) Buffered. Writer 클래스와 Buffered. Reader 클래스 T 예제 25 25



바이트 스트림 T 바이트 단위의 입출력 T 바이트 스트림과 연관된 클래스 File. Input. Stream Filter. Input. Stream Buffered. Input. Stream Data. Input. Stream 저장한 내용을 필터링 한다. Object. Input. Stream 데이터 형태에 맞게 입출력을 관장. File. Output. Stream Filter. Output. Stream Object. Output. Stream Buffered. Output. Stream Data. Output. Stream Print. Stream 28 28



바이트 스트림 (2) File. Output. Stream 클래스와 File. Input. Stream 클래스 T 파일에 바이트 스트림을 입출력하는 기능을 제공 T File. Output. Stream 클래스 Ü Output. Stream 클래스로부터 상속된 클래스 Ü 바이트 스트림을 파일에 출력하는 기능을 제공 Ü 생성자 File. Output. Stream(String filepath) throws IOException File. Output. Stream(String filepath, boolean append) throws IOException File. Output. Stream(File file. Obj) throws IOException filepath : 파일의 경로명을 포함한 이름 file. Obj : 특정 파일을 묘사하고 있는 File 객체 append : append가 true이면 파일의 끝에 문자를 첨가하고, false이면 기존 문 자위에 겹쳐 쓴다 31 31

바이트 스트림 (2) File. Output. Stream 클래스와 File. Input. Stream 클래스 T File. Input. Stream 클래스 Ü Input. Stream 클래스로부터 상속된 클래스 Ü 바이트 스트림을 파일로부터 입력하는 기능을 제공 Ü 생성자 File. Input. Stream(String filepath) throws File. Not. Found. Exception File. Input. Stream(File file. Obj) throws File. Not. Found. Exception filepath : 파일의 경로명을 포함한 이름 file. Obj : 특정 파일을 묘사하고 있는 File 객체 32 32

바이트 스트림 (2) File. Output. Stream 클래스와 File. Input. Stream 클래스 write() 바이트(bytes) 파일 File. Output. Stream File. Input. Stream 파일 바이트(byte) read() 33 33

바이트 스트림 (2) File. Output. Stream 클래스와 File. Input. Stream 클래스 T예제 34 34


바이트 스트림 (4) Buffered. Output. Stream 클래스와 Buffered. Input. Stream 클래스 T 이 두개의 클래스는 Filter. Output. Stream, Filter. Input. Stream 클래스로 T 부터 상속된 클래스이다 Buffered. Output. Stream 클래스 Ü 버퍼를 사용하여 스트림을 출력 Ü 생성자 Buffered. Output. Stream(Output. Stream output. Stream) Buffered. Output. Stream(Output. Stream output. Stream, int buf. Size) T Buffered. Input. Stream 클래스 Ü 버퍼를 사용하여 스트림을 입력 Ü 생성자 Buffered. Input. Stream(Input. Stream input. Stream) Buffered. Input. Stream(Input. Stream input. Stream, int buf. Size) 36 36

바이트 스트림 (4) Buffered. Output. Stream 클래스와 Buffered. Input. Stream 클래스 T예제 37 37


바이트 스트림 (5) Data. Output. Stream 클래스와 Data. Input. Stream 클래스 T Data. Output 인터페이스에 선언된 메소드 void write(int i) throws IOException i를 스트림으로 출력 void write(byte buffer[]) throws IOException buffer를 스트림으로 출력 39 39

바이트 스트림 (5) Data. Output. Stream 클래스와 Data. Input. Stream 클래스 T Data. Input 인터페이스에 선언된 메소드 boolean read. Boolean(boolean b) 스트림으로부터 읽은 boolean을 반환 throws IOException byte read. Byte() throws IOException 스트림으로부터 읽은 byte를 반환 char read. Char() throws IOException 스트림으로부터 읽은 char를 반환 double read. Double() throws IOExceptio 스트림으로부터 읽은 double을 반환 float read. Float() throws IOException 스트림으로부터 읽은 float를 반환 long read. Long() throws IOException 스트림으로부터 읽은 long을 반환 short read. Short() throws IOException 스트림으로부터 읽은 short를 반환 int read. Int() throws IOException 스트림으로부터 읽은 int를 반환 40 40

바이트 스트림 (5) Data. Output. Stream 클래스와 Data. Input. Stream 클래스 write. Boolean() write. Byte() write. Double() Data. Output. Stream 파일 Data. Input. Stream read. Boolean() read. Byte() read. Double() 41 41




바이트 스트림 (7) Object. Output. Stream 클래스와 Object. Input. Stream 클래스 void write. Boolean(boolean data) boolean 값을 출력한다 void write. Byte(int data) 한 바이트를 출력한다 void write. Bytes(String str) void write. Char(int data) void write. Chars(String str) void write. Double(double data) str 문자열을 연속된 바이트로 출력한다 한 문자를 출력한다 str 문자열을 연속된 문자로 출력한다 double 값을 출력한다 void write. Float(float data) float 값을 출력한다 void write. Int(int data) int 값을 출력한다 void write. Long(long data) long 값을 출력한다 void write. Object(Object obj) 객체를 출력한다 void write. Short(int data) short 값을 출력한다 void write. UTF(String data) 문자열을 UTF 인코딩으로 출력한다 45 45

바이트 스트림 (7) Object. Output. Stream 클래스와 Object. Input. Stream 클래스 T Object. Input. Stream 클 래 스 : 직 렬 화 된 데 이 터 로 부 터 역 직 렬 화 (Deserialization)를 수행하여 원래의 데이터로 복구하는 기능을 제공 T 생성자 Object. Input. Stream(Input. Stream input. Stream) T Object. Input. Stream 클래스의 주요 메소드 void close() 스트림을 닫는다 int read() 한 바이트를 읽는다 int read(byte[] b, int off, int len) 바이트 배열로 읽어 들인다 boolean read. Boolean() boolean 값을 읽는다 byte read. Byte() 한 바이트를 읽는다 char read. Char() 문자를 읽는다 46 46

바이트 스트림 (7) Object. Output. Stream 클래스와 Object. Input. Stream 클래스 double read. Double() double 값을 읽는다 float read. Float() float 값을 읽는다 int read. Int() int 값을 읽는다 long read. Long() long값을 읽는다 Object read. Object() 객체를 읽는다 short read. Short() short 값을 읽는다 int read. Unsigned. Byte() 부호 없는 바이트 값을 읽는다 int read. Unsigned. Short() 부호 없는 short 값을 읽는다 String read. UTF() UTF 인코딩을 읽어서 문자열 타입으로 반환 47 47

바이트 스트림 (7) Object. Output. Stream 클래스와 Object. Input. Stream 클래스 객체 Object. Output. Stream write. Object() 직렬화(Serialization) 직렬화된 데이터 파일 역직렬화(Deserialization) Objec. Input. Stream read. Object() 객체 48 48

바이트 스트림 (7) Object. Output. Stream 클래스와 Object. Input. Stream 클래스 예제 49 49


Random. Access. File 클래스 T Random. Access. File 클래스 주요 메소드 void close() 파일을 닫는다 51 51


Stream. Tokenizer 클래스 T Stream. Tokenizer 클래스의 주요 메소드 void comment. Char(int ch) void eolls. Significant(boolean flag) ch가 주석문(한 라인)의 시작 문자임을 알린다 flag가 true이면 end-of-line을 토큰으로 취급하고, false이면 공백으로 취급한다 int lineno() 현재의 라인 번호를 반환 void lower. Case. Mode(boolean flag) flag가 true이면 모든 토큰이 자동으로 소문자로 취급된다 int next. Token() 다음 토큰이 숫자이면 TT_NUMBER가 반환되고 단어이면 TT_WORD가 반환되고, 그 외의 경우에 는 해당 문자가 반환 void parse. Numbers() 현재 객체의 숫자를 파싱한다 void ordinary. Char(int ch) ch가 정규 문자로 지정 void quote. Char(int ch) ch를 quote문자로 설정 void reset. Syntax() 모든 문자를 정규문자로 취급 void slash. Slash. Comments(boolean flag) flag가 true이면 // 주석문이 무시된다 void slash. Star. Comments(boolean flag) flag가 true이면 / 주석문이 무시된다 String to. String() 현재의 토큰과 같은 문자열을 반환 void whitespace. Chars(int c 1, int c 2) c 1 -c 2 사이의 모든 문자를 공백으로 취급 void word. Chars(int c 1, int c 2) c 1 -c 2 사이의 모든 문자를 단어로 취급 53

Stream. Tokenizer 클래스 T예제 54 54
- Slides: 54