본문 바로가기
Java/stream

Java Stream - BufferedInputStream

by S.T.Lee 2022. 11. 13.

Buffered input/output stream - 필터 클래스 중에 버퍼(queue구조로 되어 있는 임시 저장소)를 제공하는 클래스. app안에 기본으로 2mb짜리 버퍼를 생성해서 버퍼가 file을 한번에 받아준 후 1byte씩 메모리에 전달. 이동 경로가 단축되어 시간값이 현저히 줄어든다.

//BufferedInputString 활용
package lec08.fileio04.second.stream.h;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
public class BufferedInputTest {
	public static void main(String[] args) {
		String strPath = "C:\\~~~.txt";
		BufferedInputStream bufferedInputStream = null;
		try {
			bufferedInputStream = new BufferedInputStream(new FileInputStream(strPath));
			
			byte[] bytes = new byte[30];
			while (true) {
				int read = bufferedInputStream.read(bytes);
				if (read == -1) {
					break;
				}
			String getData = new String(bytes, 0, read);
			System.out.print(getData);	
			}

		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				if (bufferedInputStream != null) {
					bufferedInputStream.close();
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}
}

 

package lec08.fileio04.second.stream.i;
import java.awt.Desktop;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.File;
public class BufferedOutTest {
	public static void main(String[] args) {
		
		String strPath = "C:\\~~~.txt";
		
		BufferedOutputStream bufferedOutputStream = null;
		
		try {
			bufferedOutputStream  = new BufferedOutputStream(new FileOutputStream(strPath));
			
			bufferedOutputStream.write('s');
			bufferedOutputStream.write('s');
			bufferedOutputStream.write('s');
			bufferedOutputStream.write('s');
			bufferedOutputStream.write(' ');
			bufferedOutputStream.write('s');
			bufferedOutputStream.write('s');
			bufferedOutputStream.write('s');
			bufferedOutputStream.write('s');
			bufferedOutputStream.write('s');
			bufferedOutputStream.write('s');
			bufferedOutputStream.write('\n');
			
			bufferedOutputStream.write("Difference 다르다".getBytes());
			
			Desktop.getDesktop().open(new File(strPath));
			
		} catch(Exception e) {
			e.printStackTrace();
		} finally {
			try {
				if (bufferedOutputStream != null) {
					bufferedOutputStream.close();
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}
}

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

Java Stream - BufferedWriter  (0) 2022.11.13
Java Stream - BufferedReader  (0) 2022.11.13
Java Stream - FileWriter  (0) 2022.11.13
Java Stream - FileReader  (0) 2022.11.13
Java Stream - FileInputStream & FileOutPutStream  (0) 2022.11.13