14 4 T Buffered Reader Input Stream Reader
14. 4 문자 스트림 T 문자 스트림과 연관된 클래스 Buffered. Reader Input. Stream. Reader File. Reader Buffered. Writer Outpur. Stream. Writer Print. Writer. I File. Writer Object Writer 8 8
(2) 입출력 예외 처리 T 입출력 예외 처리의 일반적인 예 public static void main(String args[]) throws IOException {. . . // 예외를 호출한 메소드로 넘겨주는 방법 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); }. . 12 12
14. 4 문자 스트림 (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() // 스트림의 변환 방법을 반환하는 메소드 13 13
14. 4 문자 스트림 (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() // 스트림의 변환 방법을 반환하는 메소드 14 14
14. 4 문자 스트림 (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 File. Writer(File file. Obj) throws IOException filepath : 파일의 이름(경로명 포함) file. Obj : 특정 파일을 지정하고 있는 File 객체 append : true이면 파일의 끝에 문자를 첨가하고, false이면 기존 문자위에 겹쳐 출력 15 15
14. 4 문자 스트림 (4) File. Writer 클래스와 File. Reader 클래스 T 예제 17 17
14. 4 문자 스트림 (5) Buffered. Writer 클래스와 Buffered. Reader 클래스 T Buffered. Writer 클래스 ÜWriter 클래스의 하위 클래스 Ü문자 스트림의 출력 시 버퍼를 사용 Ü생성자 Buffered. Writer(Writer output. Stream) Buffered. Writer(Writer output. Stream, int buf. Size) output. Stream : Writer 타입의 객체로서 출력 스트림을 의미 buf. Size : 버퍼의 크기를 지정. 지정하지 않으면 묵시적인 크기의 버 퍼 사용 Ü메소드 void new. Line() throws IOException // 새로운 라인에 출력 18 18
14. 4 문자 스트림 (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 // 한 라인을 읽어 온다 19 19
14. 4 문자 스트림 (5) Buffered. Writer 클래스와 Buffered. Reader 클래스 T 예제 20 20
14. 4 문자 스트림 (6) Print. Writer 클래스 T Writer 클래스로부터 상속된 클래스 T 기본 자료형이나 객체에 해당하는 문자열을 출력하는 기능을 제공 T 생성자 Print. Writer(Output. Stream output. Stream) Print. Writer(Output. Stream output. Stream, boolean flush. On. Newline) Print. Writer(Writer output. Stream, boolean flush. On. Newline) output. Stream : 바이트 스트림 타입(Output. Stream) 또는 문자 스트림 타입 (Writer) 의 출력 스트림을 의미 flush. On. Newline : 라인이 바뀔 때마다 버퍼의 모든 내용을 출력시킬 것인지를 지 정. flush. On. Newline이 true로 지정되면 라인이 바뀔 때 마다 버퍼 의 모든 내용이 출력 21 21
14. 5 바이트 스트림 T 바이트 단위의 입출력 T 바이트 스트림과 연관된 클래스 File. Input. Stream Filter. Input. Stream Buffered. Input. Stream Data. Input. Stream Object File. Output. Stream Filter. Output. Stream Buffered. Output. Stream Data. Output. Stream Print. Stream 23 23
14. 5 바이트 스트림 (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이면 기존 문 자위에 겹쳐 쓴다 25 25
14. 5 바이트 스트림 (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 객체 26 26
14. 5 바이트 스트림 (2) File. Output. Stream 클래스와 File. Input. Stream 클래스 T예제 27 27
14. 5 바이트 스트림 (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) 29 29
14. 5 바이트 스트림 (4) Buffered. Output. Stream 클래스와 Buffered. Input. Stream 클래스 T예제 30 30
14. 5 바이트 스트림 (5) Data. Output. Stream 클래스와 Data. Input. Stream 클래스 T Data. Output 인터페이스에 선언된 메소드 void write(int i) throws IOException i를 스트림으로 출력 void write(byte buffer[]) throws IOException buffer를 스트림으로 출력 32 32
14. 5 바이트 스트림 (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를 반환 33 33
14. 6 Random. Access. File 클래스 T Random. Access. File 클래스 주요 메소드 void close() 파일을 닫는다 36 36
14. 7 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 사이의 모든 문자를 단어로 취급 38 38
14. 7 Stream. Tokenizer 클래스 T예제 39 39
- Slides: 39