[JAVA] Day 18 - Stream [ Input / Output / buffer / FileInput / FileOutput ]

sueยท2023๋…„ 12์›” 7์ผ

๐Ÿ“’๊ตญ๋น„ํ•™์› [JAVA]

๋ชฉ๋ก ๋ณด๊ธฐ
14/20
post-thumbnail

1. ๋ฐ์ดํ„ฐ๋ฅผ ๋‚ด๋ณด๋‚ด์„œ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅํ•˜์—ฌ๋ผ

Test1

๐Ÿ’ป ์ž…๋ ฅ


import java.io.IOException;

//Stream : ๋‹จ๋ฐฉํ–ฅ (์Œ์œผ๋กœ ๋งŒ๋“ค์–ด์ ธ์žˆ์Œ)
//๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”๊นฅ์œผ๋กœ ๋‚ด๋ณด๋‚ผ๋•  -> OutStream
//๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„๋“ค์ด๋Š” <- InStream

//๊ธฐ๋ณธ ์ž…์ถœ๋ ฅ์ŠคํŠธ๋ฆผ
//in (์ž…๋ ฅ)


public class Test1 {

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

		int data;
		System.out.print("๋ฌธ์ž์—ด ์ž…๋ ฅ");
		while((data=System.in.read())!=-1) { //System.in.read() = int ๊ฐ’ , ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„ ๋•Œ๊นŒ์ง€
			char ch = (char)data; //(char)data = ์•„์Šคํ‚ค๊ฐ’
			System.out.print(ch);
		}
		
	}

}


๐Ÿ’ก **์ถœ๋ ฅ**
๋ฌธ์ž์—ด ์ž…๋ ฅabc123
abc123



๐Ÿ“Œ Note Code




2. ๊ธฐ๋ณธ ์ž…์ถœ๋ ฅ์‹œ์Šคํ…œ [OutputStream : ์ถœ๋ ฅ] / [์ €์žฅ์†Œ buffer]

Test2

๐Ÿ’ป ์ž…๋ ฅ


import java.io.OutputStream;

//Stream 
//๊ธฐ๋ณธ ์ž…์ถœ๋ ฅ์‹œ์Šคํ…œ
//out : ์ถœ๋ ฅ์šฉ

public class Test2 {

	public static void main(String[] args) {

		try {
			
			//System.in : ํ‚ค๋ณด๋“œ์— ์ž…๋ ฅํ•˜๋Š” ๋‚ด์šฉ
			//System.out : ์ปดํ“จํ„ฐ์•ˆ์— ์žˆ๋Š” ๋‚ด์šฉ์„ ์ฝ˜์†”์ฐฝ์— ๋„์›Œ์ฃผ๋Š” ๊ฒƒ
			OutputStream os = System.out; //๊ธฐ๋ณธ์ŠคํŠธ๋ฆผ์„ ์•„์›ƒํ’‹์ŠคํŠธ๋ฆผ์œผ๋กœ ๊ฐ์‹ธ์คŒ
			
			byte[] buffer = new byte[3]; //ํŒŒ์ผ์„ ๋‚ด๋ณด๋‚ผ๋•Œ buffer์— ๋‹ด์•„์„œ ํ•œ๋ฒˆ์— ๋‚ด๋ณด๋‚ด๊ฒ ๋‹ค
			
			//๋ฐฐ์—ด์— ๋ฐ์ดํ„ฐ ๋„ฃ์€ ๊ฒƒ
			buffer [0] = 65; 
			buffer [1] = 97; 
			buffer [2] = 122; 
			
			//65์ด์ง€๋งŒ, ๋‘๊ธ€์ž๋ผ์„œ ํ•œ๊ธ€์ž์”ฉ ๊ฐ€์ ธ์™€์•ผ ํ•จ
			//๊ทผ๋ฐ System.in์€ 
			
			os.write(buffer); //buffer์— ๋‹ด์€ ๋‚ด์šฉ์„ ํ•œ๋ฒˆ์— ๋ณด๋‚ด์ฃผ๊ฒ ๋‹ค = write(buffer)
			//os.close(); //๋ฐ˜๋“œ์‹œ close
			
			System.out.println();
			System.out.println("์ถœ๋ ฅ๊ฐ’ ๋ณด์—ฌ?");
			
		} catch (Exception e) {
			// TODO: handle exception
		}
		
		
	}

}


๐Ÿ’ก **์ถœ๋ ฅ**
Aaz
์ถœ๋ ฅ๊ฐ’ ๋ณด์—ฌ?



๐Ÿ“Œ Note Code




3. ๊ธฐ๋ณธ ์ž…์ถœ๋ ฅ์‹œ์Šคํ…œ [OutputStream : ์ถœ๋ ฅ] / [์ €์žฅ์†Œ buffer]

Test3

๐Ÿ’ป ์ž…๋ ฅ


import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;

//InputStreamReader : BridgeStream - ๋ฐ์ดํ„ฐ ์ €์žฅ x ๊ทธ๋ƒฅ ํ†ต๊ณผํ•˜๋Š” ๋‹ค๋ฆฌ
// : ์‚ฌ์šฉ์ž๊ฐ€ ํ‚ค๋ณด๋“œ๋กœ ์ž…๋ ฅํ•œ (system.in์ด ์ž…๋ ฅํ•œ ๊ฐ’ - )1byte ๋ฌธ์ž ํ•˜๋‚˜๋ฅผ 
//2byte Stream์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” Stream

//Output StreamReader



//buffer : (๋ฐ์ดํ„ฐ๋“ค์„ ์ €์žฅํ•˜๋Š”) ๊ณต๊ฐ„
//bufferedReader : ์ €์žฅ๊ณต๊ฐ„์„ ๋งŒ๋“ฆ / ๋ชจ์•„๋‘” ๋ฐ์ดํ„ฐ๋“ค์„ ๊ฐ€์žฅ ํšจ์œจ์ ์œผ๋กœ ์ €์žฅํ–ˆ๋‹ค๊ฐ€ ์‰ฝ๊ฒŒ๋” ์ถœ๋ ฅํ•˜๊ฒŒ๋”

public class Test3 {

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

		
	int data;
	System.out.println("๋ฌธ์ž์—ด?");
	
	Reader rd = new InputStreamReader(System.in);
	//InputStreamReader(System.in) = ์‚ฌ์šฉ์ž๊ฐ€ ํ‚ค๋ณด๋“œ๋กœ ์ž…๋ ฅํ•œ (system.in์ด ์ž…๋ ฅํ•œ ๊ฐ’ - )1byte ๋ฌธ์ž ํ•˜๋‚˜๋ฅผ 
	//2byte Stream์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๋‹ค๋ฆฌ bridge
	
	//Reader ์ €์žฅ์†Œ / InputStreamReader ์ €์žฅ๋Šฅ๋ ฅ X
	
	//Reader = ์–ด๋””์— ์ €์žฅํ•ด์•ผํ• ์ง€ ๋ชจ๋ฅผ๋• reader ์ €์žฅ์†Œ
	//Writer๋„ ์žˆ์Œ
	
	while((data=rd.read())!=-1){ //rd.read() = 1๋ฐ”์ดํŠธ์”ฉ ์ฝ์–ด์˜ด
		char ch = (char)data;
		
		System.out.print(ch);
	}
		
	}

}


๐Ÿ’ก **์ถœ๋ ฅ**
๋ฌธ์ž์—ด?
abc123๊ฐ€
abc123๊ฐ€



๐Ÿ“Œ Note Code




4. ๊ธฐ๋ณธ ์ž…์ถœ๋ ฅ์‹œ์Šคํ…œ [OutputStreamReader : ์ถœ๋ ฅ]

Test4

๐Ÿ’ป ์ž…๋ ฅ

import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;

//OutputStreamReader
//1byte ๋ฌธ์ž๋ฅผ 2byte Stream์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” Stream



public class Test4 {

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

		int data;
		System.out.println("๋ฌธ์ž์—ด?");
		
		Reader rd = new InputStreamReader(System.in);//ํ‚ค๋ณด๋“œ ์ž…๋ ฅ๋œ ๊ฐ’
		Writer wr = new OutputStreamWriter(System.out); //์ฝ˜์†”์— ๋‚ด๋ณด๋ƒ„
		
		while((data=rd.read())!=-1) {
			wr.write(data); 
			wr.flush(); //writer์€ ๋ฐ˜๋“œ์‹œ flush๋ฅผ ์จ์•ผ ๊ฐ•์ œ๋กœ ๋ฐ์ดํ„ฐ ๋‚ด๋ณด๋‚ด์ง
		}
		
		
	}

}


๐Ÿ’ก **์ถœ๋ ฅ**
๋ฌธ์ž์—ด?
abc1234๊ฐ€
abc1234๊ฐ€


0๊ฐœ์˜ ๋Œ“๊ธ€