๋ฐ์ดํธ ๊ธฐ๋ฐ ์คํธ๋ฆผ
ByteArray I/O
- ๋ฐ์ดํธ ๋ฐฐ์ด์ ๋ฐ์ดํฐ๋ฅผ ์ ์ถ๋ ฅํ๋๋ฐ ์ฌ์ฉํ๋ ์คํธ๋ฆผ.
- ์ฃผ๋ก ๋ค๋ฅธ ๊ณณ์ ์ ์ถ๋ ฅ ํ๊ธฐ ์ ์ ์์๋ก ๋ฐ์ดํธ ๋ฐฐ์ด์ ๋ด์์ ๋ณํํ๋ ๋ฑ์ ์์ ์ ์ฌ์ฉํจ.
- ์ฌ์ฉํ๋ ์์์ ์ค์ง ๋ฉ๋ชจ๋ฆฌ์. GC์ ์ํด์ ์๋์ ์ผ๋ก ์์์ด ๋ฐํ๋๋ฏ๋ก close()์ฌ์ฉ X.
- ํ๋ฒ์ 1byte ์ฝ๊ณ ์ฐ๊ธฐ๋ง ํด์ ์์ ํจ์จ์ด ๋จ์ด์ง.
- “๋ฐฐ์ด”์ด์ฉ์ ์ ์ถ๋ ฅ ์์ ํจ์จ์ด ๋์์ง.
- read( )๋ write( )๊ฐ IOException์ ๋ฐ์์ํฌ ์ ์๊ธฐ ๋๋ฌธ์ try-catch๋ฌธ์ผ๋ก ๊ฐ์ธ์ค.
- available( ): ํด๋น ์คํฌ๋ฆผ์์ ์ฝ์ด์ฌ ์ ์๋ ๋ฐ์ดํธ์ ์๋ฅผ ์์ํ ์ ์์. ์ ํํ๊ฐ์ X.
File I/O
- ํ์ผ์ ์ ์ถ๋ ฅ์ ํ๊ธฐ ์ํ ์คํธ๋ฆผ.
- ์ค์ ํ๋ก๊ทธ๋๋ฐ์ ๋ง์ด ์ฌ์ฉํจ.
- ํ ์คํธํ์ผ์ ๋ฌธ์๊ธฐ๋ฐ ์คํธ๋ฆผ์ ์ด์ฉํ๊ธฐ.
๋ฐ์ดํธ ๊ธฐ๋ฐ ๋ณด์กฐ์คํธ๋ฆผ
Filter I/O
- ๋ชจ๋ ๋ณด์กฐ์คํธ๋ฆผ์ ์กฐ์(SequenceInputStream์ ์ธ)
- ๋ณด์กฐ์คํธ๋ฆผ์ ์์ฒด์ ์ผ๋ก ์ ์ถ๋ ฅX, ๊ธฐ๋ฐ์คํธ๋ฆผํ์.
- Filter I/O์ ๋ชจ๋ ๋ฉ์๋๋ ๋จ์ํ ๊ธฐ๋ฐ์คํธ๋ฆผ์ ๋ฉ์๋๋ฅผ ๊ทธ๋๋ก ํธ์ถํ ๋ฟ. ์์์ ํตํด ์ํ๋ ์์ ์ ์ํํ๋๋ก ์ค๋ฒ๋ผ์ด๋ฉ ํด์ผํจ.
- Filter I/O์ ์์ฑ์
- protected FilterInputStream(InputStream in)
- public FilterOutputStream(OutputStream out)
- ์์ฑ์์ ์ ์ด์ protected: ์์ฒด ์ธ์คํด์ค๋ฅผ ์์ฑํ์งX. ์์์ ํตํด ์ค๋ฒ๋ผ์ด๋ฉ ํด์ผํจ.
Buffered I/O
- ์คํธ๋ฆผ์ ์
์ถ๋ ฅํจ์จ์ ๋์ด๊ธฐ ์ํด ๋ฒํผ๋ฅผ ์ฌ์ฉํ๋ ์คํธ๋ฆผ. 1byte <<< ๋ฒํผ(๋ฐ์ดํธ๋ฐฐ์ด)
- ํจ์จ์ ์ด๊ณ ๋นจ๋ผ์ ๋๋ถ๋ถ์ ์ ์ถ๋ ฅ์ ์ฌ์ฉ
- ๋ฒํผ์ ํฌ๊ธฐ๋ ์ ๋ ฅ์์ค๋ก๋ถํฐ ํ๋ฒ์ ๊ฐ์ ธ์ฌ ์ ์๋ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๋ก ์ง์ ํ๋ฉด ์ข์.
Data I/O
- Filter I/O์ ์์
- DataInput์ธํฐํ์ด์ค,DataOutput์ธํฐํ์ด์ค๊ตฌํ
- ๋ฐ์ดํฐ ์ฝ/์ฐ์ 8๊ฐ์ง ๊ธฐ๋ณธ์๋ฃํ์ ๋จ์๋ก ๊ฐ๋ฅ
- DataOutPutStream์ด ์ถ๋ ฅํ๋ ํ์์ ๊ฐ ๊ธฐ๋ณธํ ๊ฐ์ 16์ง์๋ก ํํํ์ฌ ์ ์ฅํจ. ๊ฐ ์๋ฃํ์ ํฌ๊ธฐ๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ถ๋ ฅํ ๋ฐ์ดํฐ๋ฅผ ๋ค์ ์ฝ์ด์ฌ ๋ ์ถ๋ ฅ์์ ์์๋ฅผ ์ผ๋ํด์ผํจ.
- ์ฌ๋ฌ ์ข ๋ฅ ์๋ฃํ ์ถ๋ ฅ์ ์ฝ์ ๋ ๋ฐ๋์ ์ฐ์ธ ์์๋๋ก ํด์ผํจ.
Sequence InputStream
- ์ฌ๋ฌ ๊ฐ์ ์ ๋ ฅ์คํธ๋ฆผ์ ์ฐ์์ ์ผ๋ก ์ฐ๊ฒฐํด์ ํ๋์ ์คํธ๋ฆผ์ผ๋ก๋ถ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋๊ฒ๊ฐ์ด ์ฒ๋ฆฌํ ์์์.
- ํฐํ์ผ→์ฌ๋ฌ๊ฐ ์์ํ์ผ→ํ๋์ ํ์ผ๋ก ํฉ์น๊ธฐ ์ ๊ฐ์ ์์ ์ํ์ ์ข์.
- โ Vector์ ์ฐ๊ฒฐํ ์ ๋ ฅ์คํธ๋ฆผ๋ค ์ ์ฅ. โกVector์ Enummeration element( )ํธ์ถํด์ ์์ฑ์์ ๋งค๊ฐ๋ณ์๋ก ์ฌ์ฉํจ.
- or
- โ ์์ฑ์์ ํ์ผ์คํธ๋ฆผ์ ์ฌ๋ฌ๊ฐ ๋ฃ๊ธฐ
- Vector์ ์ ์ฅ๋ ์์๋๋ก ์ ๋ ฅ๋จ.
PrintStream
- ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์คํธ๋ฆผ์ ๋ค์ํ ํํ๋ก ์ถ๋ ฅํ ์ ์๋ print, println, printf ๊ฐ์ ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ฉํ์ฌ์ ์ ๊ณตํจ.
- ๋ฐ์ดํฐ๋ฅผ ์ ์ ํ ๋ฌธ์๋ก ์ถ๋ ฅํจ. (๊ทธ๋ฌ๋ PrintWriter์ด ์๋๋ฐ ๊ตณ์ด...?)
- println( )์ด๋ print( )๋ ์์ธ๋ฅผ ๋์ง์ง์๊ณ ๋ด๋ถ์์ ์ฒ๋ฆฌํ๋๋ก ์ ์ํจ(์์ฃผ ์ฌ์ฉํด์) (System.out, System.err์ด ์ด๊ฒ์)
- BufferedInputStream - ๋ฒํผ๊ธฐ๋ฅ์ ๊ณต
- DataInputStream - ๊ธฐ๋ณธํ๋จ์๋ก I/O
- ObjectInputStream - ๊ฐ์ฒด๋จ์๋ก I/O
'๐ฅ๏ธ ๋ฐฑ์๋ > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ch.15] ํ์ค์ ์ถ๋ ฅ, ์ง๋ ฌํ (0) | 2023.11.21 |
---|---|
[ch.15] ์ ์ถ๋ ฅ I/O - ๋ฌธ์๊ธฐ๋ฐ ์คํธ๋ฆผ (1) | 2023.11.21 |
[ch.15] ์ ์ถ๋ ฅ I/O (0) | 2023.11.20 |
[ch.14] Optional<T>์ OptionalInt (0) | 2023.11.20 |
[ch.14] ์คํธ๋ฆผ์ ์ต์ข ์ฐ์ฐ (0) | 2023.11.15 |