๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ–ฅ๏ธ ๋ฐฑ์—”๋“œ/Java

[ch.15] ์ž…์ถœ๋ ฅ I/O - ๋ฌธ์ž๊ธฐ๋ฐ˜ ์ŠคํŠธ๋ฆผ

by OR15A 2023. 11. 21.

๋ฌธ์ž๊ธฐ๋ฐ˜ ์ŠคํŠธ๋ฆผ

 

๋ฌธ์ž๊ธฐ๋ฐ˜ ์ŠคํŠธ๋ฆผ์˜ ์กฐ์ƒ
  • ๋ฐ”์ดํŠธ๊ธฐ๋ฐ˜ ์ŠคํŠธ๋ฆผ์˜ ์กฐ์ƒ์ด InputStream/ OutputStream์ธ ๊ฒƒ์ฒ˜๋Ÿผ ๋ฌธ์ž๊ธฐ๋ฐ˜ ์ŠคํŠธ๋ฆผ์—๋Š” Reader/Writer๊ฐ€ ์กฐ์ƒ ์—ญํ• ์„ ํ•จ.
  • byte๋ฐฐ์—ด ๋Œ€์‹  char๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•จ.
  • ๋ฐ”์ดํŠธ๊ธฐ๋ฐ˜ : 1byte
  • ๋ฌธ์ž๊ธฐ๋ฐ˜ : 2byte(char) +์ธ์ฝ”๋”ฉ
  • ์—ฌ๋Ÿฌ์ข…๋ฅ˜์˜ ์ธ์ฝ”๋”ฉ/์ž๋ฐ”์˜ UTF-16๋ณ€ํ™˜ ์ž๋™์ฒ˜๋ฆฌ

 

File R/W
  • ํŒŒ์ผ๋กœ๋ถ€ํ„ฐ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ํŒŒ์ผ์— ์“ฐ๋Š”๋ฐ ์‚ฌ์šฉํ•จ

 

Piped R/W
  • ์“ธ์ผ ๋ณ„๋กœ ์—†์Œ
  • ์“ฐ๋ ˆ๋“œ๊ฐ•์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ ์‚ฌ์šฉํ•จ.
  • ์ž…๋ ฅ์ŠคํŠธ๋ฆผ&์ถœ๋ ฅ์ŠคํŠธ๋ฆผ์„ ํ•˜๋‚˜์˜ ์ŠคํŠธ๋ฆผ์œผ๋กœ ์—ฐ๊ฒฐํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์Œ
  • โ‘ ์ŠคํŠธ๋ฆผ ์ƒ์„ฑ
  • โ‘ก์–ด๋Š ํ•œ์ชฝ ์“ฐ๋ ˆ๋“œ์—์„œ  connect( )๋ฅผ ํ˜ธ์ถœํ•ด์„œ ์ž…์ถœ๋ ฅ ์—ฐ๊ฒฐ
  • โ‘ข์ž…์ถœ๋ ฅ ํ›„ ํ•œ์ชฝ ์ŠคํŠธ๋ฆผ๋งŒ ๋‹ซ์•„๋„ ๋‚˜๋จธ์ง€ ์ž๋™๋‹ซํž˜
  • ์“ฐ๋ ˆ๋“œ๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— piped R/W๋ฅผ ์—ฐ๊ฒฐํ•ด์•ผํ•จ

 

String R/W
  • ๋”๋ธ”๋ฒ„ํผ๋ง์ด ์ผ์–ด๋‚  ๋•Œ ์”€
  • CharArrayR/W์ฒ˜๋Ÿผ ์ž…์ถœ๋ ฅ๋Œ€์ƒ์€ ๋ฉ”๋ชจ๋ฆฌ
  • String W๋กœ ์ถœ๋ ฅ๋˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ๋‚ด๋ถ€์˜ String Buffer์— ์ €์žฅ๋จ.
  • ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด์„œ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป์Œ.
  • StringBuffer
    • getBuffer( ): ์ถœ๋ ฅ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ StringBuffer๋ฅผ ๋ฐ˜ํ™˜ํ•จ.
  • String
    • toString( ): ์ถœ๋ ฅ๋˜๊ณ , StringBuffer์— ์ €์žฅ๋œ, ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜.

 

 

 

๋ฌธ์ž ๊ธฐ๋ฐ˜ ๋ณด์กฐ์ŠคํŠธ๋ฆผ

Buffered R/W
  • oldํ•œ ๋ฐฉ์‹.
  • ๋ฒ„ํผ๋ฅผ ์ด์šฉํ•ด์„œ ์ž…์ถœ๋ ฅ์˜ ํšจ์œจ์„ ๋†’์—ฌ์คŒ.
  • ๋งค์šฐ๋งค์šฐ ํ‘œ์œจ์ด ์ข‹์•„์ง€๋ฏ€๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Œ.
  • ํŒŒ์ผ์—์„œ ํŠน์ •๋ฌธ์ž or ๋ฌธ์ž์—ด์„ ํฌํ•จํ•œ ๋ผ์ธ์„์‰ฝ๊ฒŒ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ์Œ.

 

InputStreamReader&OuputStreamWriter
  • ๋ฐ”์ดํŠธ๊ธฐ๋ฐ˜ ์ŠคํŠธ๋ฆผ์„ ๋ฌธ์ž๊ธฐ๋ฐ˜ ์ŠคํŠธ๋ฆผ์œผ๋กœ ์—ฐ๊ฒฐ์‹œ์ผœ์คŒ.
  • ๋ฐ”์ดํŠธ๊ธฐ๋ฐ˜ ์ŠคํŠธ๋ฆผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ง€์ •๋œ ์ธ์ฝ”๋”ฉ์˜ ๋ฌธ์ž๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ž‘์—… ์ˆ˜ํ–‰ํ•จ.
  • ํŒŒ์ผ์„ ์ฝ์„๋•Œ ์ธ์ฝ”๋”ฉ์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๋‚ด์šฉ๊นจ์ง
  • I/O๋ฅผ R/W๋กœ ๋ณ€ํ™˜ํ•  ๋•Œ ์‚ฌ์šฉํ•จ.
  • ์ธ์ฝ”๋”ฉ์„ ๋ณ€ํ™˜ํ•  ๋•Œ ์‚ฌ์šฉํ•จ.