1. Files
ํด๋์ค
ํ์ผ ์์
์ ์ํด ๋งค๋๋ฌ์ด ์ ํธ๋ฆฌํฐ ํด๋์ค์ธ java.nio.file.Files
. ๋ชจ๋ ๊ฒฝ์ฐ์ ๋ํ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์ด ํด๋์ค์ ๋ชจ๋ ๋ฉ์๋๋ ์ ์ ์ด๋ฉฐ Path ๊ฐ์ฒด์์ ์๋ํฉ๋๋ค. ๋ง์ ๋ฐฉ๋ฒ์ด ์์ผ๋ฏ๋ก ๊ฐ์ฅ ์ค์ํ ๋ฐฉ๋ฒ๋ง ๊ณ ๋ คํ ๊ฒ์
๋๋ค.
๋ฐฉ๋ฒ | ์ค๋ช |
---|---|
|
๊ฒฝ๋ก๊ฐ ์ธ ์ ํ์ผ์ ๋ง๋ญ๋๋ค.path |
|
์ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ง๋ญ๋๋ค. |
|
์ฌ๋ฌ ๋๋ ํ ๋ฆฌ ์์ฑ |
|
์์ ํ์ผ ์์ฑ |
|
์์ ๋๋ ํ ๋ฆฌ ์์ฑ |
|
๋น์ด ์๋ ๊ฒฝ์ฐ ํ์ผ ๋๋ ๋๋ ํ ๋ฆฌ๋ฅผ ์ญ์ ํฉ๋๋ค. |
|
ํ์ผ ๋ณต์ฌ |
|
ํ์ผ ์ด๋ |
|
๊ฒฝ๋ก๊ฐ ํ์ผ์ด ์๋ ๋๋ ํ ๋ฆฌ์ธ์ง ํ์ธ |
|
๊ฒฝ๋ก๊ฐ ๋๋ ํ ๋ฆฌ๊ฐ ์๋ ํ์ผ์ธ์ง ํ์ธ |
|
์ฃผ์ด์ง ๊ฒฝ๋ก์ ๊ฐ์ฒด๊ฐ ์กด์ฌํ๋์ง ํ์ธ |
|
ํ์ผ ํฌ๊ธฐ๋ฅผ ๋ฐํ |
|
ํ์ผ์ ์ ์ฒด ๋ด์ฉ์ ๋ฐ์ดํธ ๋ฐฐ์ด๋ก ๋ฐํ |
|
ํ์ผ์ ์ ์ฒด ๋ด์ฉ์ ๋ฌธ์์ด๋ก ๋ฐํ |
|
ํ์ผ์ ์ ์ฒด ๋ด์ฉ์ ๋ฌธ์์ด ๋ชฉ๋ก์ผ๋ก ๋ฐํ |
|
๋ฐ์ดํธ ๋ฐฐ์ด์ ํ์ผ์ ์๋๋ค. |
|
๋ฌธ์์ด์ ํ์ผ์ ์๋๋ค. |
|
์ง์ ๋ ๋๋ ํ ๋ฆฌ์์ ํ์ผ(๋ฐ ํ์ ๋๋ ํ ๋ฆฌ) ๋ชจ์์ ๋ฐํํฉ๋๋ค. |
2. ํ์ผ ๋ฐ ๋๋ ํ ๋ฆฌ ์์ฑ
ํ์ผ๊ณผ ๋๋ ํ ๋ฆฌ๋ ์์ฑํ๊ธฐ๊ฐ ๋งค์ฐ ์ฝ์ต๋๋ค. ๋ช ๊ฐ์ง ์๋ฅผ ๋ค์ด ์์ ์ ์ค๋ํด ๋ด ์๋ค.
์ํธ | ๋ฉ๋ชจ |
---|---|
|
ํ์ผ ์์ฑ |
|
๋๋ ํ ๋ฆฌ ์์ฑ |
|
์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ ๋๋ ํ ๋ฆฌ ๋ฐ ํ์ํ ๋ชจ๋ ํ์ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํฉ๋๋ค. |
3. ๋ณต์ฌ, ์ด๋ ๋ฐ ์ญ์
ํ์ผ ๋ณต์ฌ, ์ด๋ ๋ฐ ์ญ์ ๋ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฝ์ต๋๋ค. ์ด๋ ๋๋ ํฐ๋ฆฌ์๋ ์ ์ฉ๋์ง๋ง ๋น์ด ์์ด์ผ ํฉ๋๋ค.
์ํธ | ๋ฉ๋ชจ |
---|---|
|
ํ์ผ ๋ณต์ฌ |
|
ํ์ผ ์ด๋ ๋ฐ ์ด๋ฆ ๋ฐ๊พธ๊ธฐ |
|
ํ์ผ์ ์ญ์ ํฉ๋๋ค |
4. ํ์ผ์ ์ข ๋ฅ ๋ฐ ์กด์ฌ ์ฌ๋ถ ํ์ธ
๋ค๋ฅธ ์ฌ๋์ด ์ ๊ณตํ ๊ฒฝ๋ก๊ฐ ์์ ๋ ํ์ผ์ธ์ง ๋๋ ํ ๋ฆฌ์ธ์ง ์๊ณ ์ถ์ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ผ๋ฐ์ ์ผ๋ก ๊ทธ๋ฌํ ํ์ผ/๋๋ ํ ๋ฆฌ๊ฐ ์กด์ฌํฉ๋๊น?
์ด๋ฅผ ์ํ ํน๋ณํ ๋ฐฉ๋ฒ๋ ์์ต๋๋ค. ํ์ผ ๊ธธ์ด๋ฅผ ์ฝ๊ฒ ์ฐพ์ ์๋ ์์ต๋๋ค.
์ํธ | ๋ฉ๋ชจ |
---|---|
|
|
|
|
|
|
|
|
5. ํ์ผ ๋ด์ฉ ์์
๋ง์ง๋ง์ผ๋ก, ํ์ผ์ ๋ด์ฉ์ ์ฝ๊ฒ ์ฝ๊ฑฐ๋ ์ธ ์ ์๋ ์ผ๋ จ์ ๋ฉ์๋๊ฐ ์์ต๋๋ค. ์:
์ํธ | ์ค๋ช |
---|---|
|
ํ์ผ์ ๋ด์ฉ์ ๋ฌธ์์ด ๋ชฉ๋ก์ผ๋ก ์ฝ์ต๋๋ค. ๋ฌธ์์ด ํ์ |
6. ๋๋ ํ ๋ฆฌ ๋ด์ฉ ๊ฐ์ ธ์ค๊ธฐ
๊ฐ์ฅ ํฅ๋ฏธ๋ก์ด ๋ฐฉ๋ฒ์ ์ฌ์ ํ โโ๋จ์ ์์ต๋๋ค. ์ฃผ์ด์ง ๋๋ ํ ๋ฆฌ์์ ํ์ผ๊ณผ ํ์ ๋๋ ํ ๋ฆฌ๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
newDirectoryStream()
์ฐ๋ฆฌ๋ ํน๋ณํ ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ ๋ฉ์๋ ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค DirectoryStream<Path>
. ์ฃผ์ด์ง ๋๋ ํ ๋ฆฌ์ ๋ชจ๋ ํ์ผ๊ณผ ํ์ ๋๋ ํ ๋ฆฌ๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ๋ฐ๋ณต์(!)๊ฐ ์์ต๋๋ค.
์๊ฐ๋ณด๋ค ์ฝ์ต๋๋ค.
์ํธ | ์ค๋ช |
---|---|
|
ํ์ผ ๋ชฉ๋ก์ด ์๋ ๊ฐ์ฒด ๊ฐ์ ธ์ค๊ธฐ ํ์ผ ๋ชฉ๋ก์ ๋ฐ๋ณตํฉ๋๋ค. |
๊ฐ์ฒด DirectoryStream<Path>
์๋ ๋ ๊ฐ์ง ์์ฑ์ด ์์ต๋๋ค. ์ฒซ์งธ, ํ์ผ ๊ฒฝ๋ก๋ฅผ ๋ฐํํ๋ ๋ฐ๋ณต์๊ฐ ์์ผ๋ฉฐ for-each
๋ฃจํ ๋ด์์ ์ด ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋์งธ, ์ด ๊ฐ์ฒด๋ ๋ฐ์ดํฐ ์คํธ๋ฆผ์ด๋ฏ๋ก ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ช
์์ ์ผ๋ก ๋ซํ close()
๊ฑฐ๋ ๋ธ๋ก ๋ด์์ ์ฌ์ฉ์ ์ ์ธ ํด์ผ ํฉ๋๋ค try-with-resources
.
7. Files.newInputStream
๋ฐฉ๋ฒ
Java 5๋ถํฐ FileInputStream
๋ฐ FileOutputStream
ํด๋์ค๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค. ๊ทธ๋ค์ ๋จ์ ์ค ํ๋๋ ์ด๋ฌํ ํด๋์ค์ ๊ฐ์ฒด๊ฐ ์์ฑ๋๋ฉด ๋์คํฌ์ ํ์ผ์ด ์ฆ์ ์์ฑ๋๋ค๋ ๊ฒ์
๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ผ ์์ฑ๊ณผ ๊ด๋ จ๋ ๋ชจ๋ ์์ธ๊ฐ ์ ์ฌ์ ์ผ๋ก ๋ฐ์ํ ์ ์์ต๋๋ค.
๋์ค์ ์ด๊ฒ์ ์ต์ ์ ๊ฒฐ์ ์ด ์๋ ๊ฒ์ผ๋ก ์ธ์๋์์ต๋๋ค. java.nio.Files
๋ฐ๋ผ์ ์ ํธ๋ฆฌํฐ ํด๋์ค์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์ข์ต๋๋ค .
๋ค์์ ํ์ผ ์์ฑ์ ๋ํ ์ด์ ์ ๊ทผ ๋ฐฉ์๊ณผ ์๋ก์ด ์ ๊ทผ ๋ฐฉ์์ ๋น๊ตํ ๊ฒ์ ๋๋ค.
์ ์ |
---|
|
ํ์ |
|
๊ทธ๋ฆฌ๊ณ ๋น์ทํ ๋์ฒดํ์ด ์์ต๋๋ค FileOutputStream
.
์ ์ |
---|
|
ํ์ |
|
GO TO FULL VERSION