본문 바로가기

Languague/Java

[Java] 문자 기반 보조스트림 BufferedReader / BufferedWriter

BufferedReader / BufferedWriter


BufferedReader/BufferedWriter는 버퍼를 이용해 입출력의 효율을 높이게 해주는 역할을 한다. 버퍼를 이용하면 입출력의 효율이 매우! 좋아지기 때문에 사용하는게 좋다.

 

  • BufferedReader의 readLine()을 사용하면 데이터를 라인단위로 읽어올 수 있다.

 

InputStreamReader / OutputStreamWriter


바이트 기반 스트림을 문자 기반 스트림으로 연결시켜주는 역할과 바이트 기반 스트림의 데이터를 지정된 인코딩의 문자 데이터로 변환하는 작업을 수행한다.

 

InputStreamReader(InputStream in) OS에서 사용하는 기본 인코딩을 문자로 변환한다.
InputStreamReader(InputStream in, String encoding) 지정된 인코딩을 사용한다.
String getEncoding() 인코딩을 알려준다.

 

OutputStreamWriter(OutputStream in) OS에서 사용하는 기본 인코딩을 문자로 변환한다.
OutputStreamWriter(OutputStream in, String encoding) 지정된 인코딩을 사용한다.
String getEncoding() 인코딩을 알려준다.

 

import java.io.*;

public class JavaStreamTest {
    public static void main(String args[]) throws IOException {

       //기본 인코딩 문자로 변환하는 IOnputStreamReader생성
        InputStreamReader isr= new InputStreamReader(System.in); 
        
        //사용자의 화면입력을 입력 받기 위해 선언, InputStreamReader와 연결해서 입력값을 인코딩 문자로 변환한다.
        BufferedReader br = new BufferedReader(isr);
        
		//출력값을 기본 인코딩의 문자로 변환한다.
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        
        //사용 운영체제의 인코딩
        bw.write("인코딩" +isr.getEncoding());
        
        //콘솔값의 라인 단위로 읽는다.
        bw.write(br.readLine());
        
        //버퍼를 닫아 출력값을 확인
        bw.close();
    }
}

 

 

 

현재 운영체제의 인코딩은 UTF8

콘솔창에 test로 입력후, br.readLine()으로 콘솔값을 라인단위로 읽어 출력했다.

300x250

'Languague > Java' 카테고리의 다른 글

[Java] 자바 스트림(Stream)  (0) 2024.03.15