Java

Java_보조스트림_성능 향상 스트림

ssmm95 2024. 10. 22. 11:04

성능 향상 스트림

: 자바에서 데이트 입출력의 속도와 효율을 높이기 위해 사용하는 보조스트림

출력스트림의 경우 직접 하드디스트에서데이터를 보내지 않고 메모리 버퍼에 데이터를 보냄으로써 출력 속도를 향상시킬 수 있다

입력 스트림에서도 버퍼를 사용하면 읽기 성능이 좋아진다

 

대용량파일을 읽거나 쓸 때 , 네트워크를 통한 데이터 송수신이 필요한 경우 

줄 단위로 데이터를 처리하거나 한번에 대량의 데이터를 다루고 싶을때 사용

 

바이트스트림 

: BufferedInputStream bis = new BufferedOutputStream (바이트 입력 스트림 );

BufferdOutputStream bos = new BufferedOutputStream (바이트 출력 스트림);

FileInputStream fileStream = new FileInputStream("example.txt");
BufferedInputStream bufferedInput = new BufferedInputStream(fileStream);

FileOutputStream fileOutputStream = new FileOutputStream("output.txt");
BufferedOutputStream bufferedOutput = new BufferedOutputStream(fileOutputStream);

 

문자스트림

: BufferedReader br = new BufferedReader(문자입력스트림);

BufferedWriter bw = new BufferedWriter(문자출력스트림);

FileReader fileReader = new FileReader("example.txt");
BufferedReader bufferedReader = new BufferedReader(fileReader);

// BufferedReader 는 파일을 줄 단위로 읽을 수 있어 효율적 

FileWriter fileWriter = new FileWriter("output.txt");
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);

// BufferedWriter 문자열을 버퍼에 모아 한꺼번에 쓰기 떄문에 성능이 향상

 

문자입력 스트림 Reader에 BufferedReader를 연결하면 성능 향상뿐아니라 행 단위 문자열을 읽는 매우 편리한 

readLine() 메소드를 제공한다 

 

문자파일을 행 단위로 읽는 코드 

BufferedReader br = new BufferedReader(new FileReader("..."));
while(true) {
	String str = br.readLine(); // 파일에서 한 행씩 읽음
    if(str == null) break; // 더이상 읽을 행이 없을 경우(파일 끝) while문 종료
    }