1. InputStreamReader
ํด๋์ค
์คํธ๋ฆผ์ ๋ ๋ค๋ฅธ ํฅ๋ฏธ๋ก์ด ๊ธฐ๋ฅ์ ์ฌ๋ฌ ์คํธ๋ฆผ์ ์ฒด์ธ ์ผ๋ก ๊ฒฐํฉํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค . ์คํธ๋ฆผ์ ๋ด๋ถ ๋ฐ์ดํฐ ์์ค๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ์คํธ๋ฆผ ์์๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์์ต๋๋ค .
์ด๋ ํ๋์ ์คํธ๋ฆผ์ ๋ค๋ฅธ ์คํธ๋ฆผ์ ์ฐ๊ฒฐํ์ฌ ๋ณต์กํ ๋ฐ์ดํฐ ์ฝ๊ธฐ ์๋๋ฆฌ์ค๋ฅผ ์์ฑํ ์ ์๊ฒ ํด์ฃผ๋ Java์ ๋งค์ฐ ๊ฐ๋ ฅํ ๋ฉ์ปค๋์ฆ์ ๋๋ค. ์ด๋ฌํ ๊ตฌ์ฑํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํ๋ก๊ทธ๋จ์ด ๋ฐ์ดํฐ ์คํธ๋ฆผ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ๋ ๋ฐ์ดํฐ ์คํธ๋ฆผ์ ๋ฐ์ดํฐ ์์ค(์: ๋ค๋ฅธ ๋ฐ์ดํฐ ์คํธ๋ฆผ ๋๋ ํ์ผ)์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ต๋๋ค.
๋ํ ๊ฐ ๋ฐ์ดํฐ ์คํธ๋ฆผ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ๋ด๋ณด๋ผ ๋ฟ๋ง ์๋๋ผ ๋ฐ์ดํฐ๋ฅผ ๋ณํํ๊ฑฐ๋ ๋ค์ํ ์์
์ ์ํํ ์๋ ์์ต๋๋ค. ์ด๋ฌํ "์ค๊ฐ ์คํธ๋ฆผ"์ ์ข์ ์๋ ํด๋์ค์
๋๋ค InputStreamReader
.
์ฐ๋ฆฌ๋ ์ด๋ฏธ ํ์ผ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ํด๋์ค FileReader
๋ผ๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. Reader
๊ทธ๋ฆฌ๊ณ InputStreamReader
๋ฐ์ดํฐ๋ ์ด๋์์ ๊ฐ์ ธ์ต๋๊น? ๋ง์ต๋๋ค โ InputStream
.
๊ฐ์ฒด๋ฅผ ๋ง๋ค ๋ ๊ฐ์ฒด ๋๋ ํด๋น ํ์ ํด๋์ค ์ค ํ๋๋ฅผ InputStreamReader
์ ๋ฌํด์ผ ํฉ๋๋ค . InputStream
์:
String src = "c:\\projects\\log.txt";
FileInputStream input = new FileInputStream(src);
InputStreamReader reader = new InputStreamReader(input);
ํด๋์ค ์๋ ํด๋์ค์ ์๋ InputStreamReader
๋ชจ๋ ๋ฉ์๋๊ฐ ์์ผ๋ฉฐ Reader
์ ํํ ๋์ผํ ๋ฐฉ์์ผ๋ก ์๋ํฉ๋๋ค.
InputStreamReader
ํด๋์ค์ ์๋ฅผ ๋ค์ด ํด๋์ค ๊ฐ์ ์ฃผ์ ์ฐจ์ด์ ์ FileReader
๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ์์น์
๋๋ค. FileReader
ํ์ผ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ง๋ง(์ด๊ฒ ๋ฐ๋ก ์ด๋ผ๊ณ ํ๋ ์ด์ ์
๋๋ค FileReader
) .InputStreamReader
InputStream
FileReader
๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด ์์ ๋ฌธ์๋ฅผ ์ฝ์ผ๋ฉด read()
๋์คํฌ์ ํ์ผ์์ 2๋ฐ์ดํธ๋ฅผ ์ฝ์ด chars
.
InputStreamReader
๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด ์์ ๋ฌธ์๋ฅผ ์ฝ์ผ๋ฉด ์ ๋ฌ๋ ๊ฐ์ฒด read()
์์ 2๋ฐ์ดํธ๋ฅผ ์ฝ๊ณ FileInputStream
ํ์ผ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ต๋๋ค. ๊ฒฐ๊ณผ๋ ๋ฉ์๋ ์ ๋ํ ํธ์ถ ์ฒด์ธread()
์
๋๋ค .
2. BufferedReader
ํด๋์ค
๋ง์ด ์ฌ์ฉํ๊ฒ ๋ ๋ ๋ค๋ฅธ ํฅ๋ฏธ๋ก์ด ํด๋์ค๋ BufferedReader
. ์ด๊ฒ์ ๋ํ ๋ค๋ฅธ ์คํธ๋ฆผ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ "์ค๊ฐ ์คํธ๋ฆผ"์
๋๋ค.
์ด๋ฆ์์ ์ ์ ์๋ฏ์ด ์ด BufferedReader
ํด๋์ค๋ ์ ํ์ ํด๋์ค Reader
์ด๋ฉฐ ๋ฌธ์๋ฅผ ์ฝ์ ์ ์์ต๋๋ค . ๊ทธ๋ฌ๋ ๊ฐ์ฅ ํฅ๋ฏธ๋ก์ด ์ ์ ๋ฌธ์๋ฅผ ์ฝ์ ์ ์๋ ์คํธ๋ฆผ , ์ฆ ํด๋์ค๋ฅผ ์์ํ๋ ์คํธ๋ฆผ ์ ํํ๋ก ๋ฐ์ดํฐ ์์ค๋ฅผ ์ ๋ฌํด์ผ ํ๋ค๋ ๊ฒ์
๋๋ค Reader
.
์ ์ ๋ฌด์์ธ๊ฐ? ์ ๋ฌ๋ฆฌ InputStreamReader
์ด BufferedReader
ํด๋์ค๋ ๋ฐ์ดํธ๋ฅผ ๋ฌธ์๋ก ๋ณํํ์ง ์์ต๋๋ค. ์๋ฌด ๊ฒ๋ ๋ณํํ์ง ์์ต๋๋ค. ๋์ ๋ฐ์ดํฐ๋ฅผ ๋ฒํผ๋งํฉ๋๋ค .
ํ๋ก๊ทธ๋จ์ด ๊ฐ์ฒด์์ ๋จ์ผ ๋ฌธ์๋ฅผ ์ฝ์ ๋ BufferedReader
๊ฐ์ฒด๋ ์์ค ์คํธ๋ฆผ์์ ํ ๋ฒ์ ๋ง์ ๋ฌธ์ ๋ฐฐ์ด์ ์ฝ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ด๋ถ์ ์ผ๋ก ์ ์ฅํฉ๋๋ค.
๊ฐ์ฒด์์ ๋ค์ ๋ฌธ์๋ฅผ ์ฝ์ผ๋ฉด BufferedReader
๋ด๋ถ ๋ฒํผ ๋ฐฐ์ด์์ ๋ค์ ๋ฌธ์๋ฅผ ๊ฐ์ ธ์์ ๋ฐ์ดํฐ ์์ค์ ์ก์ธ์คํ์ง ์๊ณ ๋ฐํํฉ๋๋ค. ๋ฒํผ์ ๋ชจ๋ ๋ฌธ์๊ฐ ์ฌ์ฉ๋ ๊ฒฝ์ฐ์๋ง ๋ค๋ฅธ ํฐ ๋ฌธ์ ๋ฐฐ์ด์์ ์ฝ์ต๋๋ค.
์ด ํด๋์ค ์๋ ์์ค ์คํธ๋ฆผ์์ ์ ์ฒด ๋ฐ์ดํฐ ๋ฌธ์์ด์ ํ ๋ฒ์ ์ฝ์ ์ ์๋ BufferedReader
๋งค์ฐ ์ ์ฉํ ๋ฉ์๋๋ ์์ต๋๋ค . String readLine()
์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ํ์ผ์ ์ฝ๊ณ ๊ทธ ๋ด์ฉ์ ํ ์ค์ฉ ํ๋ฉด์ ํ์ํ ์ ์์ต๋๋ค. ์:
์ด๊ฒ์ด ์ผ๋ง๋ ํธ๋ฆฌํ์ง ์ค๋ช ํ๊ธฐ ์ํด ํน๋ณํ ๊ฐ๋จํ ์ฝ๋๋ฅผ ์์ฑํ์ต๋๋ค. ์ด ์ฝ๋๋ ์กฐ๊ธ ๋ ์์ธํ๊ฒ ์์ฑํ ์๋ ์์ต๋๋ค.
|
๊ฐ์ฒด๋ฅผ ๋ง๋ญ๋๋ค FileReader . ๋ฐ์ดํฐ ์๋ณธ์ ํ์ผ์
๋๋ค. ๊ฐ์ฒด๋ฅผ ๋ง๋ญ๋๋ค BufferedReader . ๋ฐ์ดํฐ ์์ค๋ FileReader . ํ๋ ๊ธฐ์ ์์ง ๋ฐ์ดํฐ๊ฐ ์๋ ํ ํ ๋ผ์ธ์ ์ฝ์ต๋๋ค. ๋ผ์ธ์ ํ์ํฉ๋๋ค. |
์ฌ๋ฌ ์คํธ๋ฆผ์ ํจ๊ป ์ฐ๊ฒฐํ๋ ๊ฒฝ์ฐ close()
๋ฉ์๋๋ ๊ทธ์ค ํ๋์์๋ง ํธ์ถํ๋ฉด ๋ฉ๋๋ค. close()
ํด๋น ์คํธ๋ฆผ์ ์ต์ข
๋ฐ์ดํฐ ์คํธ๋ฆผ ์์ ํธ์ถ๋ ๋๊น์ง ๋ฐ์ดํฐ ์์ค ๋ฑ์์ ๋ฉ์๋๋ฅผ ํธ์ถํฉ๋๋ค .
3. ์ฝ์์์ ์ฝ๊ธฐ
๊ทธ๋ฆฌ๊ณ ํ ๊ฐ์ง ๋ ํฅ๋ฏธ๋ก์ด ์ฌ์ค์ Scanner
ํด๋์ค๊ฐ ๋ฐ์ดํฐ ์คํธ๋ฆผ์ด๊ธฐ๋ ํ ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ์ค๊ฐ ์
๋ ฅ ์คํธ๋ฆผ์ ์ง๋์ง ์๋๋ค๋ ์ ์
๋๋ค System.in
.
๋ค์์ ์ฝ์์์ ์ค์ ์ฝ๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ ๋๋ค.
์ค์บ๋ ํด๋์ค | BufferedReader ๋ฐ BufferedWriter ํด๋์ค |
---|---|
|
|
์ฐ๋ฆฌ ์น๊ตฌ๋ ํด๋์ค ์ ์ ์ ๋ณ์์ ์ง๋์ง ์์ต๋๋ค . ์ด๋ฆ์ด ์
๋๋ค .System.in
in
System
InputStream
in
๋ฐ๋ผ์ ๊ฑฐ์ CodeGym์ ๋ํ Java ์ฐ๊ตฌ ์ด๊ธฐ๋ถํฐ ๋ฐ์ดํฐ ์คํธ๋ฆผ์ผ๋ก ์์ ํ๊ณ ๊ทธ๋ก๋ถํฐ ์ฒด์ธ์ ๊ตฌ์ถํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด์ ๋น์ ์ ๋ ์์์ ์ผ๋ก ๊ทธ๊ฒ์ ํ ๊ฒ์ ๋๋ค.
GO TO FULL VERSION