[Java] ์คํธ๋ฆผ(Stream)
๐ ์คํธ๋ฆผ์ด๋
์ปดํจํฐ์ ์ฃผ์ ๊ตฌ์ฑ์์์๋ CPU, RAM, HDD, I/O ๋ฑ์ด ์๋ค.
ํ์ผ์ HDD์ ์ ์ฅ๋์ด ์๊ณ , ํ๋ก์ธ์ค๋ RAM์์ ์คํ๋๋ค.
๋ฐ๋ผ์ RAM์์ ํ๋ก์ธ์ค๋ฅผ ์คํํ๊ธฐ ์ํด์ HDD์ ์๋ ํ์ผ์ ์ฝ์ด์์ผํ๋ ๋ฐ ์ด ๊ณผ์ ์ด ์คํธ๋ฆผ์ ํํ์ด๋ค
๊ด๋ฒ์ํ๊ฒ๋, ์๋ฐ์์ ์คํธ๋ฆผ์ ์๋ฐ 8๋ถํฐ ๋์ ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐฉ์์ด๋ค.
๐ ์ ์ถ๋ ฅ ์คํธ๋ฆผ
์๋ฐ์์ ๋ฐ์ดํฐ๋ ์คํธ๋ฆผ์ ํตํด ์ ์ถ๋ ฅ๋๋ค.
์คํธ๋ฆผ์ ๋จ์ผ ๋ฐฉํฅ์ผ๋ก ์ฐ์์ ์ผ๋ก ํ๋ฌ๊ฐ๋ ๊ฒ์ ๋งํ๋ค. ๋ฐ๋ผ์ ๋ฐฉํฅ์ ๋ฐ๋ผ ์ ๋ ฅ ์คํธ๋ฆผ๊ณผ ์ถ๋ ฅ ์คํธ๋ฆผ์ ๋ชจ๋ ์ค์ ํด์ค์ผ ํ๋ค.
์ ๋ ฅ ์คํธ๋ฆผ (Input Stream)
๋ฐ์ดํฐ์ ์ ๋ ฅ์ด ์ด๋ฃจ์ด์ง๋ ์คํธ๋ฆผ; ํ๋ก๊ทธ๋จ์ด ๋์ฐฉ์ง
์ถ๋ ฅ ์คํธ๋ฆผ (Output Stream)
๋ฐ์ดํฐ์ ์ถ๋ ฅ์ด ์ด๋ฃจ์ด์ง๋ ์คํธ๋ฆผ; ํ๋ก๊ทธ๋จ์ด ์ถ๋ฐ์ง
๐์คํธ๋ฆผ ํด๋์ค
์คํธ๋ฆผ ํด๋์ค๋ ํฌ๊ฒ ๋ฐ์ดํธ ๊ธฐ๋ฐ ์คํธ๋ฆผ๊ณผ ๋ฌธ์ ๊ธฐ๋ฐ ์คํธ๋ฆผ ๋ ์ข ๋ฅ๋ก ๋ถ๋ฅ๋๋ค.
์คํธ๋ฆผ ํด๋์ค์ ์ข ๋ฅ๋ ๋ค์๊ณผ ๊ฐ๋ค.
๋ฐ์ดํธ ๊ธฐ๋ฐ ์คํธ๋ฆผ | ๋ฌธ์ ๊ธฐ๋ฐ ์คํธ๋ฆผ | |||
์ ๋ ฅ ์คํธ๋ฆผ | ์ถ๋ ฅ ์คํธ๋ฆผ | ์ ๋ ฅ ์คํธ๋ฆผ | ์ถ๋ ฅ ์คํธ๋ฆผ | |
์ต์์ ํด๋์ค | InputStream | OutputStream | Reader | Writer |
ํ์ ํด๋์ค (๋ค์) | ----- InputStream (FileInputStream) |
----- OutputStream (FileOutputStream) |
----- Reader (FileReader) |
----- Writer (FileWriter) |
๐์ค์ต
์คํธ๋ฆผ์ ์ด์ฉํด์ ์์ผ ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ์ฑํ ์ ๊ตฌํํ ์ ์๋ ์ค์ต์ด๋ค.
[์์ผ ํ๋ก๊ทธ๋๋ฐ] ์คํธ๋ฆผ์ ์ด์ฉํ ์ฑํ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์๋ฒ ๋ง๋ค๊ธฐ
ํด๋ผ์ด์ธํธ ๋ฉ์์ง ์ฒ๋ฆฌ ์ค๋ ๋ ์์ผ ์์ฑ์(์์ผ) run ๋ฉ์๋ ๊ตฌํ ๋ฌดํ ๋ฐ๋ณต ๋ฉ์์ง ๋ฐ์์ ์ถ๋ ฅ ์๋ฒ ํด๋์ค ํฌํธ ๋ฒํธ ์๋ฒ ์์ผ ํด๋ผ์ด์ธํธ ์์ผ๋ค์ ์ ์ฅํ ์ ์๋ ๋ณ์ ๋ฉ์ธ ์๋ฒ ์คํ ๋ฌด
xoxoxoxox.tistory.com