본문 바로가기
Java/stream

Java Stream - BufferReader vs InputStreamReader

by S.T.Lee 2022. 11. 13.
package lec08.fileio04.second.stream.o;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.FileInputStream;

public class InputStreamTest {

	public static void main(String[] args) {
		
		String strPath = "C:\\~~~.txt";
		
		BufferedReader bufferedReader = null;
		InputStreamReader inputStreamReader = null;
		
		try {
			//BufferReader 사용
			bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(strPath), "UTF-8"));
			
			while (true) {
				String strData = bufferedReader.readLine();
				if (strData == null) {
					break;
				}
				System.out.println(strData);
			}
			
			//BufferReader int
			bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(strPath), "UTF-8"));
			
			while (true) {
				int getData = bufferedReader.read();
				if (getData == -1) {
					break;
				}
				char readChar = (char) getData;
				System.out.print(readChar);
			}
			
			//InputStreamReader 사용
			inputStreamReader = new InputStreamReader(new FileInputStream(strPath), "UTF-8");
			System.out.println();
			
			while (true) {
				int read = inputStreamReader.read();
				if (read == -1) {
					break;
				}
				char readChar = (char) read;
				System.out.print(readChar);
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
			if (bufferedReader != null) {
				bufferedReader.close();
			}
			if (inputStreamReader != null) {
				inputStreamReader.close();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
}