Bibi's DevLog ๐ค๐
[Java - ์๋ฐ์ ์ ] 26์ฅ. ํ์ผ I/O ๊ธฐ์ด (Fileํด๋์ค) ๋ณธ๋ฌธ
[Java - ์๋ฐ์ ์ ] 26์ฅ. ํ์ผ I/O ๊ธฐ์ด (Fileํด๋์ค)
๋น๋น bibi 2021. 2. 7. 00:32์๋ฐ์ ์ 26์ฅ
ํ์ผ I/O
I/O๋?
I๋ input, O๋ output์ ์ฝ์. ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ํต์นญํจ.
์ฉ๋
- ํ์ผ์ ์ฝ๊ฑฐ๋ ์ ์ฅํ ๋(์ธ ๋)
- ๋ค๋ฅธ ์๋ฒ/๋๋ฐ์ด์ค๋ก ํ์ผ์ ๋ณด๋ผ ๋
JVM๊ธฐ์ค์ผ๋ก input๊ณผ output์ ์๊ฐํ๋ฉด ๋จ.
- ์ฝ์ ๋๋ input
- ํ์ผ๋ก ์ฐ๊ฑฐ๋ ์ธ๋ถ๋ก ์ ์กํ ๋๋ output
java.ioํจํค์ง์ ์คํธ๋ฆผ
๋ฐ์ดํธ ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์คํธ๋ฆผ ํด๋์ค ์ ๊ณต.
*์๋ฐ์์ ์คํธ๋ฆผ์ด๋ ''๋๊ธฐ์ง ์๊ณ ์ฐ์์ ์ธ ๋ฐ์ดํฐ''๋ฅผ ๋งํจ
InputStream
,OutputStream
Reader, Writer ํด๋์ค
char๊ธฐ๋ฐ์ ๋ฌธ์์ด ํ์ผ์ ์ฒ๋ฆฌํ๋ ํด๋์ค.
File ํด๋์ค (java.io.File)์ Files ํด๋์ค(java.nio.File.Files)
- Fileํด๋์ค๋ ํ์ผ๊ณผ ํ์ผ์ ๊ฒฝ๋ก (file, path)๋ฅผ ํฌํจํจ
- Filesํด๋์ค๋ Fileํด๋์ค์ ๋ฉ์๋๋ฅผ ๋์ฒดํ์ฌ ์ ๊ณตํจ
๋ชจ๋ ๋ฉ์๋๊ฐ static์ผ๋ก ์ ์ธ๋์ด ์์
File ํด๋์ค
ํ์ผ ๋ฐ ๊ฒฝ๋ก ์ ๋ณด๋ฅผ ํต์ ํ๋ ํด๋์ค
๋ณดํต ์๋์ฐ์์๋ ๊ฒฝ๋ก๋ฅผ
C:\User
์ฒ๋ผ ์ญ์ฌ๋์๋ฅผ ํ ๋ฒ ์ฌ์ฉํ์ง๋ง,
์๋ฐ์์ ๊ฒฝ๋ก๋ฅผ ํ๊ธฐํ ๋๋\
๋ฅผ ํ ๋ฒ ์ฌ์ฉํ๋ฉดescape character
๋ก ์ธ์ํ๋ค.๋ฐ๋ผ์ ์ญ์ฌ๋์๋ฅผ ๋ํ๋ด๋ ค๋ฉด ๋ฐ๋์
\\
์ฒ๋ผ ๋ ๋ฒ ์ฐ๋ฌ์ ์ฌ์ฉํด์ผ ํ๋ค.
์์ฑ์
File(String pathname)
: pathname์ ๊ฒฝ๋ก ์ด๋ฆ์ผ๋ก File๊ฐ์ฒด ์์ฑFile(String parent, String child)
: parent(์์ ๊ฒฝ๋ก)์ child(ํ์ ๊ฒฝ๋ก)๋ก File๊ฐ์ฒด ์์ฑ
๋ฉ์๋
File.separator
: ๋๋ ํฐ๋ฆฌ ๊ตฌ๋ถ๊ธฐํธ
exist()
: File๊ฐ์ฒด์ ํด๋น ๊ฒฝ๋ก๊ฐ ์กด์ฌํ๋์ง ํ์ธ. ์กด์ฌํ๋ฉดtrue
mkdir()
: File๊ฐ์ฒด ๊ฒฝ๋ก์ ๋๋ ํฐ๋ฆฌ๊ฐ ์กด์ฌํ์ง ์์ผ๋ฉด ํด๋น ๊ฒฝ๋ก์ ํ์ ๋๋ ํฐ๋ฆฌ๋ฅผ ํ๋ ์์ฑ
mkdirs()
: mkdir()
์ ๋น์ทํ๋, ๊ฒฝ๋ก์์ ์ฌ๋ฌ ํ์ ๋๋ ํฐ๋ฆฌ๋ฅผ ์์ฑ
isDirectory()
: File๊ฐ์ฒด๊ฐ ๊ฒฝ๋ก(๋๋ ํ ๋ฆฌ)์ธ์ง ํ์ธ
isFile()
: File๊ฐ์ฒด๊ฐ ํ์ผ์ธ์ง ํ์ธ
isHidden()
: File๊ฐ์ฒด๊ฐ ์จ๊นํ์ผ์ธ์ง ํ์ธ
canRead()
: ํ์ฌ ์ํ์ค์ธ ์๋ฐํ๋ก๊ทธ๋จ์ด ํด๋น File๊ฐ์ฒด์ ์ฝ๊ธฐ ๊ถํ์ด ์๋์ง ํ์ธ
canWrite()
: ์ฐ๊ธฐ ๊ถํ์ด ์๋์ง ํ์ธ
canExecute()
: ์คํ ๊ถํ์ด ์๋์ง ํ์ธ
lastModified()
: ํ์ผ/๊ฒฝ๋ก๊ฐ ์ธ์ ์์ฑ๋์๋์ง ํ์ธ - Date
ํด๋์ค์ ํจ๊ป ์ฌ์ฉ
delete()
: ํ์ผ์ ์ญ์ ํจ
createNewFile()
: File ๊ฒฝ๋ก์ ๋น์ด ์๋ ์ ํ์ผ ์์ฑ (IOException ๋ฐ์ ๊ฐ๋ฅ)
getAbsolutePath()
, getCanonicalPath()
: File๊ฐ์ฒด์ ์ ์ฒด ๊ฒฝ๋ก๋ฅผ String์ผ๋ก ๋ฆฌํด
getAbsoluteFile()
, getAbsolutePath()
: File ๊ฐ์ฒด๋ฅผ ๋ฆฌํด
getName()
: ํ์ผ์ ํ์ผ๋ช
์, ๊ฒฝ๋ก๋ ์ ์ฒด ๊ฒฝ๋ก๋ฅผ String์ผ๋ก ๋ฆฌํด
getPath()
: ์ ์ฒด ๊ฒฝ๋ก๋ฅผ ๋ฆฌํด
getParent()
: (File๊ฐ์ฒด๊ฐ ํ์ผ์ผ ๊ฒฝ์ฐ) ํ์ผ ์ด๋ฆ์ ์ ์ธํ ๊ฒฝ๋ก๋ง์ ๋ฆฌํด