반응형

일반적으로 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()   남아있는 데이터를 모두 출력시킴.



 

반응형

+ Recent posts