๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

java51

[Java-๊ธฐ์ดˆ] ์ง๋ ฌํ™” โ–ถ ์ง๋ ฌํ™” *์ง๋ ฌํ™”์™€ ์—ญ์ง๋ ฌํ™” ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด ์ธ์Šคํ„ด์Šค์˜ ์ƒํƒœ, ์ฆ‰ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ ๊ฐ’์€ ๋งˆ์น˜ ์ƒ๋ช…์ฒด์ฒ˜๋Ÿผ ๊ณ„์† ๋ณ€ํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ธ์Šคํ„ด์Šค์˜ ์–ด๋Š ์ˆœ๊ฐ„ ์ƒํƒœ๋ฅผ ๊ทธ๋Œ€๋กœ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ „์†กํ•  ์ผ์ด ์žˆ์„ ์ˆ˜๋„ ์žˆ๋‹ค. ์ด๋ฅผ '์ง๋ ฌํ™”'๋ผ๊ณ  ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ €์žฅ๋œ ๋‚ด์šฉ์ด๋‚˜ ์ „์†ก๋ฐ›์€ ๋‚ด์šฉ์„ ๋‹ค์‹œ ๋ณต์›ํ•˜๋Š” ๊ฒƒ์„ '์—ญ์ง๋ ฌํ™”'๋ผ๊ณ  ํ•œ๋‹ค. ๋‹ค์‹œ ๋งํ•ด ์ง๋ ฌํ™”๋ž€ ์ธ์Šคํ„ด์Šค ๋‚ด์šฉ์„ ์—ฐ์† ์ŠคํŠธ๋ฆผ์œผ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค. ์ง๋ ฌํ™” ๊ณผ์ •์—์„œ ํ•˜๋Š” ์ผ์€ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ ๊ฐ’์„ ์ŠคํŠธ๋ฆผ์œผ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค. ์ƒ์„ฑ์ž ์„ค๋ช… ObjectInputStream(InputStream in) InputStream์„ ์ƒ์„ฑ์ž์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์•„ ObjectInputStream์„ ์ƒ์„ฑํ•œ๋‹ค. ObjectOutputStream(OutputStream o.. 2021. 2. 23.
[Java-๊ธฐ์ดˆ] ๋ณด์กฐ ์ŠคํŠธ๋ฆผ โ–ถ ๋ณด์กฐ ์ŠคํŠธ๋ฆผ ๋ณด์กฐ ์ŠคํŠธ๋ฆผ์€ ์ž…์ถœ๋ ฅ ๋Œ€์ƒ์ด ๋˜๋Š” ํŒŒ์ผ์ด๋‚˜ ๋„คํŠธ์›Œํฌ์— ์ง์ ‘ ์“ฐ๊ฑฐ๋‚˜ ์ฝ๋Š” ๊ธฐ๋Šฅ์€ ์—†๋‹ค. ๋ง ๊ทธ๋Œ€๋กœ ๋ณด์กฐ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋Š” ์ŠคํŠธ๋ฆผ์ด๋‹ค. ์ด ๋ณด์กฐ ๊ธฐ๋Šฅ์€ ์—ฌ๋Ÿฌ ์ŠคํŠธ๋ฆผ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ณด์กฐ ์ŠคํŠธ๋ฆผ์€ ๋‹ค๋ฅธ ๋ง๋กœ Wrapper ์ŠคํŠธ๋ฆผ์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค. ์Šค์Šค๋กœ๋Š” ์ž…์ถœ๋ ฅ ๊ธฐ๋Šฅ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ƒ์„ฑ์ž์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋‹ค๋ฅธ ์ŠคํŠธ๋ฆผ์„ ๋ฐ›๊ฒŒ ๋˜๋ฉด ์ž์‹ ์ด ๊ฐ์‹ธ๊ณ  ์žˆ๋Š” ์ŠคํŠธ๋ฆผ์ด ์ฝ๊ฑฐ๋‚˜ ์“ฐ๋Š” ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ๋ณด์กฐ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•œ๋‹ค. ๋ณด์กฐ ์ŠคํŠธ๋ฆผ์˜ ์ƒ์„ฑ์ž์— ํ•ญ์ƒ ๊ธฐ๋ฐ˜ ์ŠคํŠธ๋ฆผ๋งŒ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ๋•Œ๋กœ๋Š” ๋˜ ๋‹ค๋ฅธ ๋ณด์กฐ ์ŠคํŠธ๋ฆผ์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›์„ ์ˆ˜๋„ ์žˆ๋‹ค. ์ด๋•Œ ์ „๋‹ฌ๋˜๋Š” ๋˜ ๋‹ค๋ฅธ ๋ณด์กฐ ์ŠคํŠธ๋ฆผ์€ ๋‚ด๋ถ€์ ์œผ๋กœ ๊ธฐ๋ฐ˜ ์ŠคํŠธ๋ฆผ์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค. โ€‹ โ€‹ โ€‹ *FilterInputStream๊ณผ FilterOutputStre.. 2021. 2. 23.
[Java-๊ธฐ์ดˆ] ๋ฌธ์ž ๋‹จ์œ„ ์ŠคํŠธ๋ฆผ โ–ถ ๋ฌธ์ž ๋‹จ์œ„ ์ŠคํŠธ๋ฆผ โ€‹ *Reader ๋ฌธ์ž ๋‹จ์œ„๋กœ ์ฝ๋Š” ์ŠคํŠธ๋ฆผ ์ค‘ ์ตœ์ƒ์œ„ ์ŠคํŠธ๋ฆผ ์ŠคํŠธ๋ฆผ ํด๋ž˜์Šค ์„ค๋ช… FileReader ํŒŒ์ผ์—์„œ ๋ฌธ์ž ๋‹จ์œ„๋กœ ์ฝ๋Š” ์ŠคํŠธ๋ฆผ ํด๋ž˜์Šค์ด๋‹ค. InputStreamReader byte ๋‹จ์œ„๋กœ ์ฝ์€ ์ž๋ฃŒ๋ฅผ ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•ด ์ฃผ๋Š” ๋ณด์กฐ ์ŠคํŠธ๋ฆผ ํด๋ž˜์Šค์ด๋‹ค. BufferedReader ๋ฌธ์ž๋กœ ์ฝ์„ ๋•Œ ๋ฐฐ์—ด์„ ์ œ๊ณตํ•˜์—ฌ ํ•œ๊บผ๋ฒˆ์— ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ด ์ฃผ๋Š” ๋ณด์กฐ ์ŠคํŠธ๋ฆผ์ด๋‹ค. ๋ฉ”์„œ๋“œ ์„ค๋ช… int read( ) ํŒŒ์ผ๋กœ๋ถ€ํ„ฐ ํ•œ ๋ฌธ์ž๋ฅผ ์ฝ๋Š”๋‹ค. ์ฝ์€ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. int read(char[ ] buf) ํŒŒ์ผ๋กœ๋ถ€ํ„ฐ buf ๋ฐฐ์—ด์— ๋ฌธ์ž๋ฅผ ์ฝ๋Š”๋‹ค. int read(char[ ] buf, int off, int len) ํŒŒ์ผ๋กœ๋ถ€ํ„ฐ buf ๋ฐฐ์—ด์˜ off ์œ„์น˜์—์„œ๋ถ€ํ„ฐ len ๊ฐœ์ˆ˜๋งŒํผ ๋ฌธ์ž๋ฅผ ์ฝ๋Š”๋‹ค. vo.. 2021. 2. 23.
[Java-๊ธฐ์ดˆ] byte ๋‹จ์œ„ ์ŠคํŠธ๋ฆผ โ–ถ byte ๋‹จ์œ„ ์ŠคํŠธ๋ฆผ โ€‹ *InputStream byte ๋‹จ์œ„๋กœ ์ฝ๋Š” ์ŠคํŠธ๋ฆผ ์ค‘ ์ตœ์ƒ์œ„ ์ŠคํŠธ๋ฆผ์ด๋‹ค. InputStream์€ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ํฌํ•จํ•œ ์ถ”์ƒ ํด๋ž˜์Šค๋กœ์„œ ํ•˜์œ„ ์ŠคํŠธ๋ฆผ ํด๋ž˜์Šค๊ฐ€ ์ƒ์†๋ฐ›์•„ ๊ฐ ํด๋ž˜์Šค ์—ญํ• ์— ๋งž๊ฒŒ ์ถ”์ƒ ๋ฉ”์„œ๋“œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ๋‹ค. โ€‹ โ€‹ โ€‹ *InputStream์ด ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํ•˜์œ„ ํด๋ž˜์Šค ์ŠคํŠธ๋ฆผ ํด๋ž˜์Šค ์„ค๋ช… FileInputStream ํŒŒ์ผ์—์„œ ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ์ž๋ฃŒ๋ฅผ ์ฝ๋Š”๋‹ค. ByteArrayInputStream Byte ๋ฐฐ์—ด ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ์ž๋ฃŒ๋ฅผ ์ฝ๋Š”๋‹ค. FilterInputStream ๊ธฐ๋ฐ˜ ์ŠคํŠธ๋ฆผ์—์„œ ์ž๋ฃŒ๋ฅผ ์ฝ์„ ๋•Œ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๋ณด์กฐ ์ŠคํŠธ๋ฆผ์˜ ์ƒ์œ„ ํด๋ž˜์Šค์ด๋‹ค. (๋ณด์กฐ ์ŠคํŠธ๋ฆผ์€ '15-5 ๋ณด์กฐ ์ŠคํŠธ๋ฆผ'์—์„œ ์ž์„ธํžˆ ์„ค๋ช…ํ•œ๋‹ค.) โ€‹ InputStream์€ byte ์ž.. 2021. 2. 22.
[Java-๊ธฐ์ดˆ] ๊ทธ ์™ธ ์ž…๋ ฅ ํด๋ž˜์Šค โ–ถ ๊ทธ ์™ธ ์ž…๋ ฅ ํด๋ž˜์Šค โ€‹ -Scanner ํด๋ž˜์Šค Scanner ํด๋ž˜์Šค๋Š” java.util ํŒจํ‚ค์ง€์— ์žˆ๋Š” ์ž…๋ ฅ ํด๋ž˜์Šค์ด๋‹ค. Scanner ํด๋ž˜์Šค๋Š” ๋ฌธ์ž๋ฟ ์•„๋‹ˆ๋ผ ์ •์ˆ˜, ์‹ค์ˆ˜ ๋“ฑ ๋‹ค๋ฅธ ์ž๋ฃŒํ˜•๋„ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ์ฝ˜์†” ํ™”๋ฉด๋ฟ ์•„๋‹ˆ๋ผ ํŒŒ์ผ์ด๋‚˜ ๋ฌธ์ž์—ด์„ ์ƒ์„ฑ์ž์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์•„ ์ž๋ฃŒ๋ฅผ ์ฝ์–ด ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. Scanner scanner = new Scanner(System.in)์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๋ฉด ํ‘œ์ค€ ์ž…๋ ฅ์œผ๋กœ๋ถ€ํ„ฐ ์ž๋ฃŒ๋ฅผ ์ฝ์–ด๋“ค์ผ ์ˆ˜ ์žˆ๋‹ค. ์ƒ์„ฑ์ž ์„ค๋ช… Scanner(File Source) ํŒŒ์ผ์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์•„ Scanner๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. Scanner(InputStream source) ๋ฐ”์ดํŠธ ์ŠคํŠธ๋ฆผ์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์•„ Scanner๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. Scanner(String source) String์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์•„.. 2021. 2. 22.
[Java-๊ธฐ์ดˆ] ํ‘œ์ค€ ์ž…์ถœ๋ ฅ โ–ถ ํ‘œ์ค€ ์ž…์ถœ๋ ฅ ์ž๋ฐ”์—์„œ๋Š” ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๊ณ  ์ž…๋ ฅ๋ฐ›๋Š” ํ‘œ์ค€ ์ž…์ถœ๋ ฅ ํด๋ž˜์Šค๋ฅผ ๋ฏธ๋ฆฌ ์ •์˜ํ•ด ๋‘์—ˆ๋‹ค. ์ด ํด๋ž˜์Šค๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์‹œ์ž‘๋  ๋•Œ ์ƒ์„ฑ๋˜๋ฏ€๋กœ ๋”ฐ๋กœ ๋งŒ๋“ค ํ•„์š”๊ฐ€ ์—†๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ง€๊ธˆ๊นŒ์ง€ ํ™”๋ฉด ์ถœ๋ ฅ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•œ System.out์€ ํ‘œ์ค€ ์ถœ๋ ฅ์„ ์œ„ํ•œ ๊ฐ์ฒด์ด๋‹ค. ํ‘œ์ค€ ์ž…์ถœ๋ ฅ์€ ์ฝ˜์†” ํ™”๋ฉด์— ์ž…์ถœ๋ ฅ๋œ๋‹ค๊ณ  ํ•ด์„œ ์ฝ˜์†” ์ž…์ถœ๋ ฅ์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค. โ€‹ โ€‹ โ€‹ *ํ‘œ์ค€ ์ž…์ถœ๋ ฅ์„ ์œ„ํ•œ System ํด๋ž˜์Šค ์ž๋ฃŒํ˜• ๋ณ€์ˆ˜ ์ด๋ฆ„ ์„ค๋ช… static PrintStream out ํ‘œ์ค€ ์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ static InputStream in ํ‘œ์ค€ ์ž…๋ ฅ ์ŠคํŠธ๋ฆผ static OutputStream err ํ‘œ์ค€ ์˜ค๋ฅ˜ ์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ System.out์€ ํ‘œ์ค€ ์ถœ๋ ฅ์šฉ ์ŠคํŠธ๋ฆผ System.in์€ ํ‘œ์ค€ ์ž…๋ ฅ์šฉ ์ŠคํŠธ๋ฆผ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ์˜ค๋ฅ˜ ๋ฉ”์„ธ์ง€๋ฅผ ์ถœ๋ ฅํ•  ๋•Œ๋Š” Syste.. 2021. 2. 22.
๋ฐ˜์‘ํ˜•