반응형
일반적으로 Scanner클래스를 통해서 입력을 받아오고 System클래스의 print메소드를 통해서 출력을 했었다.
그러나 Scanner클래스는 버퍼사이즈가 1024 chars를 가지고 있는데, 새롭게 소개하는 BufferedReader의 버퍼사이즈는 8192 chars를 가지고있다. 즉 많은 양의 데이터를 입출력하기위해서는 Scanner클래스는 속도가 느려서 적합하지않다.
BufferedReader 클래스
//입력을 받기 위한 클래스 enter로만 경계로 인식한다.
일반적인 사용방법
BufferedReader bufread = new BufferedReader(new InputStreamReader(System.in)); // 버퍼입력선언
String str = bufread.readLine(); // readLine()은 한줄을 읽어온다.
"\n", "\r"을 만날때 까지 읽어오며 return값이 String형으로 고정되어있다.
int a = Interger.pareseInt(str 또는 bufread.readLine()) //String이아닌 Int형으로 형반환 할시
BufferedWriter 클래스
//출력을 위한 클래스
일반적인 사용방법
BufferedWriter bufwrite = new BufferedWriter(new OutputStreamWriter(System.out)); //버퍼출력선언
String str = "182354";
bufwrite.write(str); //출력 --> str자리에 String.valueOf(int형 변수) // int형을 string형으로 변환
bufwrite.flush(); //남아있는 데이터를 모두 출력함
bufwrite.close(); // 스트림을 종료한다.
주요 Method
메서드명 | 기능 |
BufferedReader(Reader rd) | rd에 연결되는 문자입력 버퍼스트림 생성 |
BufferedWriter(Writer wt) | wt에 연결되는 문자출력 버퍼스트림 생성 |
int read() | 스트림으로부터 한 문자를 읽어서 int 형으로 리턴 |
int read(char[] buf) | 문자배열 buf의 크기만큼 문자를 읽어들임. 읽어들인 문자 수를 리턴 |
int read(char[] buf, int offset, int length) | buf의 offset위치에서부터 length 길이만큼 문자를 스트림으로부터 읽어들임 |
String readLine() | 스트림으로부터 한 줄을 읽어 문자열로 리턴 |
void mark() | 현재위치를 마킹, 차 후 reset() 을 이용하여 마킹위치부터 시작함 |
void reset() | 마킹이 있으면 그 위치에서부터 다시시각, 그렇지 않으면 처음부터 다시시작 |
long skip(int n) | n 개의 문자를 건너 뜀 |
void close() | 스트림 닫음 |
void write(int c) | int 형으로 문자 데이터를 출력문자스트림으로 출력 |
void write(String s, int offset, int length) | 문자열 s를 offset 위치부터 length 길이만큼을 출력스트림으로 출력 |
void write(char[] buf, int offset, int length) | 문자배열 buf의 offset 위치부터 length 길이만큼을 출력스트림으로 출력 |
void newLine() | 줄바꿈 문자열 출력 |
void flush() | 남아있는 데이터를 모두 출력시킴. |
반응형
'프로그래밍언어 > Java' 카테고리의 다른 글
Try - Catch문 feat.예외처리(Exception process) (0) | 2019.07.19 |
---|---|
입출력 InputStream, OutputStream (0) | 2019.07.19 |
Enhanced for문 (향상된 for문) (0) | 2019.07.16 |
배열 & length와 length();의 차이 (0) | 2019.07.16 |
클래스 변수 & 클래스 메소드 (0) | 2019.07.15 |