Stream의 기본은 byte , Reader의 기본은 string
read를 사용하면 buffered에는 1개 loss데이터 발생
⚡ InputStreamReader
InputStreamReader : Stream + Reader,변환 가능한 라이브러리
public static void main(String[] args) { try { //InputStreamReader : Stream + Reader,변환 가능한 라이브러리 System.out.println("입력값 : "); InputStreamReader isr = new InputStreamReader(System.in); //int data = isr.read();//read를 사용하면 buffered에는 1개 loss데이터 발생 //InputStreamReader -> BufferedReader BufferedReader br = new BufferedReader(isr); System.out.println(br.readLine()); //입력된 모든 값을 출력 OutputStreamWriter osw = new OutputStreamWriter(System.out); BufferedWriter bw = new BufferedWriter(osw); // 한줄로 쓰는법 //BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); String msg = "고객님의 포인트는 10000입니다"; bw.write(msg); bw.close(); osw.close(); br.close(); isr.close(); System.out.println(bw); }catch(Exception e) { e.getMessage(); } }
⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐
InputStream > InputStreamReader > BufferedReader (O)
InputStream > BufferedReader (X)
InputStream > BufferedInputStream (O)
InputStreamReader > BufferedReader (O)
※ BufferedReader - close() 메모리 종료 필수 , BufferedWriter - flush()+close() 필수
⚡ Stream + Reader 응용편 (많이씀) => 중요!!
public static void main(String[] args) throws Exception{ String url = "D:\\webpage\\agree\\src\\main\\java\\io\\agree.txt"; File f = new File(url); //해당 파일 가져옴 FileOutputStream fos = null; OutputStreamWriter osw = null; //stream과 buffer 사이를 왓다갓다 하게 해주는 중간다리 BufferedWriter bw = null; try { fos = new FileOutputStream(f); //byte로 읽음 (true는 여기에 사용) osw = new OutputStreamWriter(fos); //받아서 변환하는 역할(Stream -> Writer) bw = new BufferedWriter(osw); //메모리를 활용(종착역) bw.append("이메일 정책 추가사항 \n\n"); bw.append("본 이메일 정책에 변경된 사항이 있습니다"); bw.flush(); //메모리 영역을 완전 초기화(필수!) //input으로 출력 InputStream is = new FileInputStream(f); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); System.out.println(br.readLine()); br.close(); isr.close(); is.close(); }catch(Exception e) { e.getMessage(); }finally { bw.close(); osw.close(); fos.close(); }
'CLASS > JAVA' 카테고리의 다른 글
#16-1 / network 🔥 (0) | 2024.05.23 |
---|---|
#15-3 / csv 데이터 저장 (0) | 2024.05.22 |
#15-1 / 이미지(binary) (0) | 2024.05.22 |
#14-3 / Stream 활용법 (0) | 2024.05.21 |
#14-2 / nio (0) | 2024.05.21 |