1. OutputStream
ํด๋์ค
์ฐ๋ฆฌ๋ ์ต๊ทผ์ ์ ๋ ฅ ์คํธ๋ฆผ์ ํ์ํ์ต๋๋ค. ์ด์ ์ถ๋ ฅ ์คํธ๋ฆผ์ ๋ํด ์ด์ผ๊ธฐํ ์๊ฐ์ ๋๋ค.
์ด OutputStream
ํด๋์ค๋ ๋ฐ์ดํธ ์ถ๋ ฅ์ ์ง์ํ๋ ๋ชจ๋ ํด๋์ค์ ์์ ํด๋์ค์
๋๋ค. ์ด๊ฒ์ ์์ฒด์ ์ผ๋ก๋ ์๋ฌด ๊ฒ๋ ์ํํ์ง ์๋ ์ถ์ ํด๋์ค์ด์ง๋ง ๋ชจ๋ ๊ฒฝ์ฐ์ ๋ํ ํ์ ํด๋์ค๊ฐ ์์ต๋๋ค.
๋งค์ฐ ๋ณต์กํ๊ฒ ๋ค๋ฆฝ๋๋ค. ๊ฐ๋จํ ๋งํด์ ์ด ํด๋์ค๋ ์๋ฅผ ๋ค์ด ๋ฌธ์๋ ๋ค๋ฅธ ๋ฐ์ดํฐ ์ ํ์ด ์๋ ๋ฐ์ดํธ์์ ์๋ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ด ์ถ์์ ์ด๋ผ๋ ์ฌ์ค์ ์ฐ๋ฆฌ๊ฐ ์ผ๋ฐ์ ์ผ๋ก ๊ทธ๊ฒ์ ์ฌ์ฉํ์ง ์๊ณ ๊ทธ ์์ ํด๋์ค ์ค ํ๋๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์๋ฅผ ๋ค์ด, FileOutputStream
๋ฑ๋ฑ.
๊ทธ๋ฌ๋ OutputStream
์์
์ผ๋ก ๋์๊ฐ๋๋ค. ์ด ํด๋์ค์๋ ๋ชจ๋ ์์ ํด๋์ค๊ฐ ๊ตฌํํด์ผ ํ๋ ๋ฉ์๋๊ฐ ์์ต๋๋ค. ์ฃผ์ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํ๋ ์์ | ์ค๋ช |
---|---|
|
int ์คํธ๋ฆผ์ 1๋ฐ์ดํธ( ๊ฐ ์๋)๋ฅผ ์๋๋ค . |
|
์คํธ๋ฆผ์ ๋ฐ์ดํธ ๋ฐฐ์ด์ ์๋๋ค. |
|
๋ฐ์ดํธ ๋ฐฐ์ด์ ์ผ๋ถ๋ฅผ ์คํธ๋ฆผ์ ์๋๋ค. |
|
๋ฒํผ์ ์ ์ฅ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์คํธ๋ฆผ์ ์๋๋ค. |
|
์คํธ๋ฆผ์ ๋ซ์ต๋๋ค |
๋ฅผ ์์ํ๋ ํด๋์ค์ ๊ฐ์ฒด๋ฅผ ๋ง๋ค ๋ InputStream
์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ์์ค ๊ฐ์ฒด๋ฅผ ์ง์ ํฉ๋๋ค InputStream
. ๋ฅผ ์์ํ๋ ํด๋์ค์ ๊ฐ์ฒด๋ฅผ ๋ง๋ค ๋ OutputStream
์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ๊ธฐ๋ก๋ ๋์ ๊ฐ์ฒด ๋๋ ์คํธ๋ฆผ๋ ์ง์ ํฉ๋๋ค.
ํด๋์ค์ ๋ชจ๋ ๋ฉ์๋๋ฅผ ๊ฐ๋จํ ์ดํด๋ณด๊ฒ ์ต๋๋ค OutputStream
.
write(int b)
๋ฐฉ๋ฒ
int
์ด ๋ฉ์๋๋ ์ถ๋ ฅ ์คํธ๋ฆผ์ 1๋ฐ์ดํธ( ๊ฐ ์๋)๋ฅผ ์๋๋ค . ์ ๋ฌ๋ ๊ฐ์ ๋ฐ์ดํธ๋ก ์บ์คํ
๋๊ณ int์ ์ฒ์ ์ธ ๋ฐ์ดํธ๋ ๋ฒ๋ ค์ง๋๋ค.
write(byte[] buffer)
๋ฐฉ๋ฒ
์ง์ ๋ ๋ฐ์ดํธ ๋ฐฐ์ด์ ์ถ๋ ฅ ์คํธ๋ฆผ์ ์๋๋ค. ๊ทธ๊ฒ ๋ค์ผ.
write(byte[] buffer, int offset, int length)
๋ฐฉ๋ฒ
์ ๋ฌ๋ ๋ฐ์ดํธ ๋ฐฐ์ด์ ์ผ๋ถ๋ฅผ ์ถ๋ ฅ ์คํธ๋ฆผ์ ์๋๋ค. ์คํ์
๋ณ์๋ ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์์์ ์ธ๋ฑ์ค๋ฅผ ๋ํ๋ด๋ฉฐ length
๊ธฐ๋กํ ๋ถ๋ถ ์งํฉ์ ๊ธธ์ด์
๋๋ค.
flush()
๋ฐฉ๋ฒ
์ด flush()
๋ฉ์๋๋ ํ์ฌ ์คํธ๋ฆผ์ ์ ์ฌ์ ์ผ๋ก ๋ฒํผ๋ง๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋์ ์คํธ๋ฆผ์ ๊ธฐ๋กํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ ๋ฒํผ๋ง ๋ฐ/๋๋ ์ฒด์ธ์ ๋ฐฐ์ด๋ ์ฌ๋ฌ ์คํธ๋ฆผ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ๋ ๊ด๋ จ์ด ์์ต๋๋ค.
close()
๋ฐฉ๋ฒ
๊ธฐ๋ก๋์ง ์์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋์ ๊ฐ์ฒด์ ์๋๋ค. close()
๋ธ๋ก ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ฉ์๋๋ฅผ ํธ์ถํ ํ์๊ฐ ์์ต๋๋ค try-with-resources
.
ํ์ผ ๋ณต์ฌ์ ์
์ํธ | ๋ฉ๋ชจ |
---|---|
|
InputStream ํ์ผ์์ ์ฝ๊ธฐ OutputStream ์ํด ํ์ผ์ ์ฐ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ๋ฒํผ ์คํธ๋ฆผ์ ๋ฐ์ดํฐ๊ฐ ์๋ ํ ๋ฒํผ๋ก ๋ฐ์ดํฐ ์ฝ๊ธฐ ๋ฒํผ์์ ๋ ๋ฒ์งธ ์คํธ๋ฆผ์ผ๋ก ๋ฐ์ดํฐ ์ฐ๊ธฐ |
2. Writer
ํด๋์ค
ํด๋์ค ๋ ํด๋์ค Writer
์ ์ ํํ ๋์ผ OutputStream
ํ์ง๋ง ํ ๊ฐ์ง ์ฐจ์ด์ ์ด ์์ต๋๋ค. char
๋ฐ์ดํธ ๋์ ๋ฌธ์( )๋ก ์๋ํฉ๋๋ค.
์ด๊ฒ์ ์ถ์ ํด๋์ค์
๋๋ค. Writer
ํด๋์ค์ ๊ฐ์ฒด๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์ฃผ์ ๋ชฉํ๋ ์๋ฐฑ ๊ฐ์ ํ์ ํด๋์ค์ ๋ํ ๊ณตํต ์์ ํด๋์ค๊ฐ ๋๊ณ ๋ฌธ์ ์คํธ๋ฆผ ์์
์ ์ํ ๊ณตํต ๋ฉ์๋๋ฅผ ์ ๊ณตํ๋ ๊ฒ์
๋๋ค.
ํด๋์ค ์ ๋ฉ์๋ Writer
(๋ฐ ๋ชจ๋ ํ์ ํด๋์ค):
ํ๋ ์์ | ์ค๋ช |
---|---|
|
int ์คํธ๋ฆผ์ ํ๋์ ๋ฌธ์( ๊ฐ ์๋)๋ฅผ ์๋๋ค . |
|
์คํธ๋ฆผ์ ๋ฌธ์ ๋ฐฐ์ด์ ์๋๋ค. |
|
๋ฌธ์ ๋ฐฐ์ด์ ์ผ๋ถ๋ฅผ ์คํธ๋ฆผ์ ์๋๋ค. |
|
์คํธ๋ฆผ์ ๋ฌธ์์ด์ ์๋๋ค. |
|
๋ฌธ์์ด์ ์ผ๋ถ๋ฅผ ์คํธ๋ฆผ์ ์๋๋ค. |
|
๋ฒํผ์ ์ ์ฅ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์คํธ๋ฆผ์ ์๋๋ค. |
|
์คํธ๋ฆผ์ ๋ซ์ต๋๋ค |
๋ฉ์๋๋ ํด๋์ค์ ๋ฉ์๋์ ๋งค์ฐ ์ ์ฌ OutputStream
ํ์ง๋ง ๋ฐ์ดํธ ๋์ ๋ฌธ์๋ก ์๋ํฉ๋๋ค.
๋ฐฉ๋ฒ ์ค๋ช :
write(int b)
๋ฐฉ๋ฒ
์ด ๋ฉ์๋๋ ์ถ๋ ฅ ์คํธ๋ฆผ์ ๋จ์ผ ๋ฌธ์( char
โ ์๋ )๋ฅผ ์๋๋ค. int
์ ๋ฌ๋ ๊ฐ์ ๋ก ์บ์คํธ๋๊ณ char
์ฒ์ ๋ ๋ฐ์ดํธ๋ ๋ฒ๋ ค์ง๋๋ค.
write(char[] buffer)
๋ฐฉ๋ฒ
์ง์ ๋ ๋ฌธ์ ๋ฐฐ์ด์ ์ถ๋ ฅ ์คํธ๋ฆผ์ ์๋๋ค.
write(char[] buffer, int offset, int length)
๋ฐฉ๋ฒ
์ ๋ฌ๋ ๋ฌธ์ ๋ฐฐ์ด์ ์ผ๋ถ๋ฅผ ์ถ๋ ฅ ์คํธ๋ฆผ์ ์๋๋ค. ๋ณ์ offset
๋ ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์์์ ์ธ๋ฑ์ค๋ฅผ ๋ํ๋ด๋ฉฐ length
๊ธฐ๋กํ ํ์ ์งํฉ์ ๊ธธ์ด์
๋๋ค.
write(String str)
๋ฐฉ๋ฒ
์ฃผ์ด์ง ๋ฌธ์์ด์ ์ถ๋ ฅ ์คํธ๋ฆผ์ ์๋๋ค.
write(String str, int offset, int length)
๋ฐฉ๋ฒ
์ฃผ์ด์ง ๋ฌธ์์ด์ ์ผ๋ถ๋ฅผ ์ถ๋ ฅ ์คํธ๋ฆผ์ ์๋๋ค. ๋ฌธ์์ด์ ๋ฌธ์ ๋ฐฐ์ด๋ก ๋ณํ๋ฉ๋๋ค. ๋ณ์ offset
๋ ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์์์ ์ธ๋ฑ์ค๋ฅผ ๋ํ๋ด๋ฉฐ length
๊ธฐ๋กํ ํ์ ์งํฉ์ ๊ธธ์ด์
๋๋ค.
flush()
๋ฐฉ๋ฒ
์ด flush()
๋ฉ์๋๋ ํ์ฌ ์คํธ๋ฆผ์ ์ ์ฌ์ ์ผ๋ก ๋ฒํผ๋ง๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋์ ์คํธ๋ฆผ์ ๊ธฐ๋กํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ ๋ฒํผ๋ง ๋ฐ/๋๋ ์ฒด์ธ์ ๋ฐฐ์ด๋ ์ฌ๋ฌ ์คํธ๋ฆผ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ๋ ๊ด๋ จ์ด ์์ต๋๋ค.
close()
๋ฐฉ๋ฒ
๊ธฐ๋ก๋์ง ์์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋์ ๊ฐ์ฒด์ ์๋๋ค. close()
๋ธ๋ก ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ฉ์๋๋ฅผ ํธ์ถํ ํ์๊ฐ ์์ต๋๋ค try-with-resources
.
ํ ์คํธ ํ์ผ์ ๋ณต์ฌํ๋ ํ๋ก๊ทธ๋จ์ ์:
์ํธ | ๋ฉ๋ชจ |
---|---|
|
Reader ํ์ผ์์ ์ฝ๊ธฐ Writer ์ํด ํ์ผ์ ์ฐ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ๋ฒํผ ์คํธ๋ฆผ์ ๋ฐ์ดํฐ๊ฐ ์๋ ํ ๋ฒํผ๋ก ๋ฐ์ดํฐ ์ฝ๊ธฐ ๋ฒํผ์์ ๋ ๋ฒ์งธ ์คํธ๋ฆผ์ผ๋ก ๋ฐ์ดํฐ ์ฐ๊ธฐ |
StringWriter
์์
Writer
ํด๋์ค๋ฅผ ์์ํ๋ ๋ ๋ค๋ฅธ ํฅ๋ฏธ๋ก์ด ํด๋์ค๊ฐ ์์ต๋๋ค StringWriter
. ์ฌ๊ธฐ์๋ ๋ณ๊ฒฝ ๊ฐ๋ฅํ ๋ฌธ์์ด์ธ StringBuffer
๊ฐ์ฒด๊ฐ ํฌํจ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฒด์ ๋ฌด์ธ๊ฐ๋ฅผ "์ธ" ๋๋ง๋ค StringWriter
ํ
์คํธ๋ ๋จ์ํ ๋ด๋ถ ๋ฒํผ์ ์ถ๊ฐ๋ฉ๋๋ค.
์:
์ํธ | ๋ฉ๋ชจ |
---|---|
|
๋์ ๋ฌธ์ ์คํธ๋ฆผ( StringWriter )์ด ์์ฑ๋ฉ๋๋ค. ๋ฌธ์์ด์ด ๋ด๋ถ ๋ฒํผ์ ๊ธฐ๋ก๋ฉ๋๋ค. StringWriter ๋ฌธ์์ด์ด ๋ด๋ถ ๋ฒํผ์ ๊ธฐ๋ก๋ฉ๋๋ค. StringWriter ๊ฐ์ฒด์ ๋ด์ฉ์ ๋ฌธ์์ด๋ก ๋ณํํฉ๋๋ค. |
์ด ๊ฒฝ์ฐ StringWriter
ํด๋์ค๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํด๋์ค์ ๋ํ ๋ํผ StringBuffer
์ด์ง๋ง StringWriter
ํด๋์ค๋ ์คํธ๋ฆผ ํด๋์ค์ ํ์ Writer
์ด๋ฉฐ ์คํธ๋ฆผ ๊ฐ์ฒด ์ฒด์ธ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๊ฒ์ ์ค์ ๋ก ๋งค์ฐ ์ ์ฉํ ์์ฑ์
๋๋ค.
3. PrintStream
ํด๋์ค
์ถ๋ ฅ ์คํธ๋ฆผ ํด๋์ค๋ ์ ๋ฌ๋ ๋์ ์คํธ๋ฆผ์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๋ ์ค๊ฐ ์คํธ๋ฆผ์ด ์๋ ์ฒด์ธ์ ๋ฃ์ ์๋ ์์ต๋๋ค. ์ด๋ฌํ ์คํธ๋ฆผ์ ์ํธ ์์ฉ์ ๋ํ ์ผ๋ฐ์ ์ธ ๋ณด๊ธฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ชจ๋ ์ค๊ฐ ์ถ๋ ฅ ์คํธ๋ฆผ ์ค์์ ๊ฐ์ฅ ํฅ๋ฏธ๋กญ๊ณ ๋ค์ฌ๋ค๋ฅํ ๊ฒ์ PrintStream
. ์์ญ ๊ฐ์ ๋ฉ์๋์ ๋ง๊ฒ๋ 12๊ฐ์ ์์ฑ์๊ฐ ์์ต๋๋ค.
ํด๋์ค ๋ ํด๋์ค๋ฅผ PrintStream
์์ํ๊ณ FilterOutputStream
ํด๋์ค๋ OutputStream
. ์ฆ, ํด๋์ค๋ ์์ฒด ๋ฉ์๋ ์ธ์๋ ๋ถ๋ชจ ํด๋์ค์ ๋ชจ๋ ๋ฉ์๋๋ฅผPrintStream
๊ฐ์ง๋๋ค . ๋ค์์ ๊ฐ์ฅ ํฅ๋ฏธ๋ก์ด ๊ฒ์
๋๋ค.
ํ๋ ์์ | ์ค๋ช |
---|---|
|
์ ๋ฌ๋ ๊ฐ์ฒด๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํ๊ณ ๋์ ์คํธ๋ฆผ์ ์ถ๋ ฅํฉ๋๋ค. |
|
์ ๋ฌ๋ ๊ฐ์ฒด๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํ๊ณ ๋์ ์คํธ๋ฆผ์ ์ถ๋ ฅํฉ๋๋ค. ๋์ ์ค ๋ฐ๊ฟ์ ์ถ๊ฐํฉ๋๋ค. |
|
๋์ ์คํธ๋ฆผ์ ์ค ๋ฐ๊ฟ ๋ฌธ์๋ฅผ ์ถ๋ ฅํฉ๋๋ค. |
|
ํ์ ๋ฌธ์์ด๊ณผ ์ ๋ฌ๋ ์ธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฌธ์์ด์ ๊ตฌ์ฑํ๊ณ ์ถ๋ ฅํฉ๋๋ค. String.format() ๋ฐฉ๋ฒ ๊ณผ ์ ์ฌ |
๊ทธ๋ฆฌ๊ณ ์ด ์์ญ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์ด๋์ ์์ต๋๊น?
์, ๋งค๊ฐ ๋ณ์๊ฐ ๋ค๋ฅธ ๋ค์ํ ๋ณํ print()
๋ฐ ๋ฉ์๋ ๊ฐ ์์ต๋๋ค . println()
์ด ํ์ ์์ฝํ ์ ์์ต๋๋ค.
์ด๋ฌํ ๋ฐฉ๋ฒ์ ์ด๋ฏธ ์ ์๊ณ ์๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ์๋ ๋ค๋ฃจ์ง ์๊ฒ ์ต๋๋ค. ๋ด๊ฐ ๋ฌด์์ ์ป๊ณ ์๋์ง ์ง์ํ ์ ์์ต๋๊น?
๊ธฐ์ต๋ System.out.println()
? ๊ทธ๋ฌ๋ ๋ ์ค๋ก ์์ฑํ ์ ์์ต๋๋ค.
์ํธ | ์ฝ์ ์ถ๋ ฅ |
---|---|
|
|
์ฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ์ข์ํ๋ ๋ช
๋ น์ ํด๋์ค ์ ์ ์ ๋ณ์์ ๋ํ ๋ฉ์๋ ํธ์ถ์
๋๋ค . ๊ทธ๋ฆฌ๊ณ ์ด ๋ณ์์ ํ์
์ .System.out.println()
println()
out
System
PrintStream
๋ง์ CodeGym ๋ ๋ฒจ๊ณผ ๊ฑฐ์ ๋ชจ๋ ์์
์์ PrintStream
์์ง๋ ๋ชปํ๋ ์ฌ์ด์ ํด๋์ค์ ๋ฉ์๋๋ฅผ ํธ์ถํด ์์ต๋๋ค!
์ค์ฉ
Java์๋ ์ด๋ผ๋ ํฅ๋ฏธ๋ก์ด ํด๋์ค๊ฐ ์์ต๋๋ค ByteArrayOutputStream
. ์ด ํด๋์ค๋ ๋ฅผ ์์ํ๋ ๋์ ์ผ๋ก ์ฆ๊ฐํ๋ ๋ฐ์ดํธ ๋ฐฐ์ด์
๋๋ค OutputStream
.
๊ฐ์ฒด ByteArrayOutputStream
์ PrintStream
๊ฐ์ฒด๋ ๋ค์๊ณผ ๊ฐ์ด ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
์ํธ | ์ค๋ช |
---|---|
|
๋ฉ๋ชจ๋ฆฌ์ ์ฐ๊ธฐ ๋ฒํผ ์์ฑ ๊ฐ์ฒด ์ ๋ฒํผ๋ฅผ ๋ํ ์ฝ์์ ๋ฐ์ดํฐ ์ฐ๊ธฐ ๋ฐฐ์ด์ ๋ฌธ์์ด๋ก ๋ณํ! ์ฝ์ ์ถ๋ ฅ: PrintStream
|
GO TO FULL VERSION