๋ค์ด๊ฐ๊ธฐ
์ปดํจํฐ์์ ํ์ผ์ ์ค์ํ ์ ์ถ๋ ฅ ๋์์ด๋ค.
์ปดํจํฐ๋ฅผ ์ด์ฉํ๋ค ๋ณด๋ฉด ๋ณด๊ณ ์ ์์ฑ ๋ฐ์ดํฐ, ์ฑํ ์ด๋ ๋ฌธ์ ๋ฉ์์ง ๋ฑ ์ปดํจํฐ๋ฅผ ์ข ๋ฃํด๋ ์ง์์ง๋ฉด ์๋๋ ๋ฐ์ดํฐ๋ค์ด ์๋ค.
์ด์ฒ๋ผ 'ํ์ผ'์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ณต์ ํ๋ ์ค์ํ ๋์์ด๋ค.
๐ฌ ํ์ผ ๊ฐ์
File
- ํ์ผ์ ์ปดํจํฐ ๋์คํฌ์ ํ ์คํธ๋ ๋ฐ์ด๋๋ฆฌ ํํ๋ก ์ ์ฅํ๊ธฐ ์ํด ๊ณ ์๋จ
- ํ ์คํธ ํ์ผ์ ํ๋ก๊ทธ๋จ ์์ค๋ ๋ฉ๋ชจ์ฅ์์ ๋จ์ ์ ๋ณด๋ฅผ ๊ธฐ๋กํ๋ ๊ฒ์ด ๋ชฉ์ ์ด๋ค.
- ๋ฐ์ด๋๋ฆฌ ํ์ผ์ ์ด์ง ํํ๋ก ์ ์ฅ๋๋ฉฐ, ํ๋ก๊ทธ๋จ ์คํ ํ์ผ์ด๋ ํ๋ก๊ทธ๋จ์์ ์ ์ฅํ๋ ๋ฐ์ดํฐ ํ์ผ์ด๋ค.
Directory
- ๋์ฉ๋ ํ์ผ์ ๊ด๋ฆฌํ๊ธฐ ์ํด ๊ณ ์๋จ. 'ํด๋'๋ผ๊ณ ๋ ๋ถ๋ฆผ.
- ๋์คํฌ ์์คํ ์ ์ต์์๋ฅผ ๋ฃจํธ ( ROOT ) ๋ผ๊ณ ํ๋ฉฐ, ํ์ผ์ ๋ฃจํธ๋ฅผ ๋น๋กฏํ ํ์ ๋๋ ํ ๋ฆฌ์ ๋ค์ด์๋ค.
Path
- ๊ฒฝ๋ก(path)๋ ๋์คํฌ ์์คํ ์์ ํ์ผ์ ์์น๋ฅผ ๊ด๋ฆฌํ๋ ์ฒด๊ณ์ด๋ค.
- ํ์ผ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด์๋ ํ์ผ์ ์์น ์ ๋ณด๊ฐ ํ์ํ๊ณ , ํ์ผ๊ณผ ๋๋ ํ ๋ฆฌ๋ ์์น๋ฅผ ํํํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.
ํ์ต๋ชฉํ
FileStream ์ ์ถ๋ ฅ ์ ๋ํด ์์๋ณด์
๐ FileStream
HDD์ ์กด์ฌํ๋ File๊ณผ ์ฐ๊ฒฐํ๊ธฐ ์ํ Stream.
๐ฌ File ๋ด์ฉ ์ฝ๊ธฐ
- 8bit Stream => FileInputStream : ๋ชจ๋ ํ์ผ์ ๋ค ์ฝ์ด ๋ค์ผ ์ ์๋ค.
- 16bit Stream => FileReader : ๋ ์ ํฌ๋ฉง์ ๊ฐ์ง์ง ์์ ๋ฌธ์์ด ํ์ผ(txt)์ ์ฝ์ด๋ค์ผ ์ ์๋ค.
๐ฌ File ๊ด๋ จ ์ฃผ์ ํด๋์ค
- File : ๊ฒฝ๋ก ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ํด๋น ํ์ผ ๊ฐ์ฒด๋ฅผ ์์ฑ.
- FileReader : ํ์ผ์์ ๋ฌธ์ ์คํธ๋ฆผ์ ๊ธฐ๋ฐ์ผ๋ก ํ ์ ๋ ฅ์ ์ฒ๋ฆฌํ๋ ํด๋์ค.
- FileWriter : ํ์ผ์์ ๋ฌธ์ ์คํธ๋ฆผ์ ๊ธฐ๋ฐ์ผ๋ก ํ ์ถ๋ ฅ์ ์ฒ๋ฆฌํ๋ ํด๋์ค.
- FileInputStream : ํ์ผ์์ ๋ฐ์ดํธ ์คํธ๋ฆผ์ ๊ธฐ๋ฐ์ผ๋ก ํ ์ ๋ ฅ์ ์ฒ๋ฆฌํ๋ ํด๋์ค.
- FileOutputStream : ํ์ผ์์ ๋ฐ์ดํธ ์คํธ๋ฆผ์ ๊ธฐ๋ฐ์ผ๋ก ํ ์ถ๋ ฅ์ ์ฒ๋ฆฌํ๋ ํด๋์ค.
๐ฌ File ๊ด๋ จ ์ฃผ์ ๋ฉ์๋
boolean | exists() | - ํ์ผ์ด ์กด์ฌํ๋์ง ๋ฌผ์ด๋ณด๋ ํด๋์ค |
long | length() | - ํ์ผ์ ์ฉ๋ ( ํฌ๊ธฐ,byte ์ )๋ฅผ ๋ฌผ์ด๋ณด๋ ํด๋์ค |
boolean | isDirectory() | - ๋๋ ํ ๋ฆฌ( ํด๋ )์ธ์ง ํ๋จ |
boolean | ifFile() | - ํ์ผ์ธ์ง ํ๋จ |
boolean | canRead() | - ํ์ผ์ด ์ฝ๊ธฐ ๊ฐ๋ฅํ์ง ํ๋จ |
boolean | canWrite() | - ํ์ผ์ด ์ฐ๊ธฐ ๊ฐ๋ฅํ์ง ํ๋จ |
boolean | canExecute | - ํ์ผ์ด ์คํ ๊ฐ๋ฅํ์ง ํ๋จ |
String | getPath() | - ํ์ผ ๋๋ ๋๋ ํ ๋ฆฌ์ ์๋ ๊ฒฝ๋ก ์ถ์ถ. ( ์์ฑ์๋ก ์ค ๊ฒฝ๋ก ๋ฐํ ) |
String | getAbsolutePath() | - ํ์ผ ๋๋ ๋๋ ํ ๋ฆฌ์ ์ ๋ ๊ฒฝ๋ก ์ถ์ถ ( ๋ณํ์ง ์๋ ๊ฐ ) - ๋๋ผ์ด๋ธ๋ช , ๋ ์๋ฌธ์ ๋ชจ๋ ๊ฐ๋ฅ |
File | getAbsoluteFile() | - ์ ๋ ๊ฒฝ๋ก๋ฅผ ๊ฐ์ง๋ File ๊ฐ์ฒด ์์ฑ. |
String | getParent | - ํ์ฌ ํ์ผ์ ์์ ๊ฒฝ๋ก ์ถ์ถ ( ์์ฑ์์์ ์ ๊ณตํ์ ๊ฒฝ์ฐ ) |
File | getParentFile() | - ํ์ฌ ํ์ผ์ ์์ ๊ฒฝ๋ก๋ฅผ ๊ฐ์ง File ๊ฐ์ฒด ์์ฑ ( ์์ฑ์์์ ์ ๊ณตํ์ ๊ฒฝ์ฐ) |
๐ File Stream ์ถ๋ ฅ
HDD์ ํ์ผ์ ์์ฑํ์ฌ JVM๋ด์ ๋ฌธ์์ด ๋ฐ์ดํฐ๋ฅผ ๋ชฉ์ ์ง ํ์ผ์ ์ถ๋ ฅ.
๐ฌ File ๋ด์ฉ ์ถ๋ ฅ
- 8bit Stream => FileOutputStream : ๋ชจ๋ ํ์ผ์ ๋ด๋ณด๋ผ ์ ์๋ค.
- 16bit Stream => FileWriter : ๋ฌธ์์ด ๋ฐ์ดํฐ๋ฅผ ๋ด๋ณด๋ผ ์ ์๋ค.
๐ ํ์ผ ๊ฐ์ฒด ์์ฑ
File file = new File("/Users/hwang-yunho/Documents/temp.txt");
//์ถ์ฒ : https://yhmane.tistory.com/126
๐ ํ์ผ ๊ฐ์ฒด ์์ฑ ( IRRO ์ค์ต )
package day0727;
import java.io.File;
/**
* ๋๋ ํ ๋ฆฌ ์์ฑ
*
* @author user
*
*/
public class CreateDirectory {
public CreateDirectory() {
File file = new File("E:/dev/temp/test");
boolean flag = file.mkdir();
System.out.println("๋๋ ํ ๋ฆฌ ์์ฑ : " + flag);
}// CreateDirectory
public static void main(String[] args) {
new CreateDirectory();
}// main
}// class
์ถ๋ ฅ
----------
๋๋ ํ ๋ฆฌ ์์ฑ : true
๐ฌ mkdir / mkdirs ์ฐจ์ด์
package day0727;
import java.io.File;
/**
* ๋๋ ํ ๋ฆฌ ์์ฑ
*
* @author user
*
*/
public class CreateDirectory {
public CreateDirectory() {
File file = new File("E:/dev/irro/test");
//boolean flag = file.mkdir(); //๋ถ๋ชจ ๋๋ ํ ๋ฆฌ๊ฐ ์กด์ฌํ์ง ์์ผ๋ฉด ํ์ ๋๋ ํ ๋ฆฌ๊ฐ ์์ฑ๋์ง ์๋๋ค.
boolean flag = file.mkdirs(); //๋ถ๋ชจ๋๋ ํ ๋ฆฌ๊ฐ ์กด์ฌํ์ง ์์ผ๋ฉด ๋ถ๋ชจ๋๋ ํ ๋ฆฌ๋ถํฐ ์์ฐํ๋ค.
System.out.println("๋๋ ํ ๋ฆฌ ์์ฑ : " + flag);
}// CreateDirectory
public static void main(String[] args) {
new CreateDirectory();
}// main
}// class
File.mkdir() | ๋ง๋ค๊ณ ์ํ๋ ๋๋ ํ ๋ฆฌ์ ์์ ๋๋ ํ ๋ฆฌ๊ฐ ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ, ์์ฑ ๋ถ๊ฐ. E:/dev/irro/test ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ ์ ํ๋๋ฐ, irro ๋๋ ํ ๋ฆฌ๊ฐ ์๋ ๊ฒฝ์ฐ, ์์ฑ ๋ถ๊ฐํ๋ค. |
File.mkdirs() | ๋ง๋ค๊ณ ์ ํ๋ ๋๋ ํ ๋ฆฌ์ ์์ ๋๋ ํ ๋ฆฌ๊ฐ ์กด์ฌํ์ง ์์ ๊ฒฝ์ฐ, ์์ ๋๋ ํ ๋ฆฌ๊ฐ ์์ฑ. E:/dev/irro/test ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ ์ ํ๋๋ฐ, irro ๋๋ ํ ๋ฆฌ๊ฐ ์๋ ๊ฒฝ์ฐ, irro ๋๋ ํ ๋ฆฌ๋ ๊ฐ์ด ์์ฑํ๋ค. |
Java API์์๋ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ๊ธฐ ์ํด, Filde.mkdir() / File.mkdis(), ๋ ๊ฐ์ API๊ฐ ์ ๊ณต๋๋ค.
์ ๋ ๊ฐ์ API๋ ๋ชจ๋ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฐํ๋ ๊ธฐ๋ฅ์ ํ์ง๋ง ์ธ๋ถ์ ์ผ๋ก๋ ์ฝ๊ฐ ํ๋ฆฐ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์๋ค.
๐ ํ์ผ ๊ด๋ จ ์ฃผ์ ๋ฉ์๋ ์์ฑ ( IRRO ์ค์ต )
package day0727;
import java.io.File;
/**
* ์
๋ ฅ๋ ํ์ผ์ ์ ๋ณด๋ฅผ ์ป๊ฑฐ๋, ์กฐ์ (rename,์ญ์ ), ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ๋ ์ผ์ ํ๋ ํด๋์ค์ ์ฌ์ฉ.
*
* @author user
*
*/
public class UseFile {
public UseFile() {
// 1.ํ์ผ ์์ฑ
File file = new File("E:/dev/temp/java_read.txt");
System.out.println(file);
System.out.println("ํ์ผ์ด ์กด์ฌํ๋?" + file.exists());
// 2.ํ์ผ ์ฉ๋ ํ์ธ
if (file.exists()) {
long leng = file.length();
System.out.println("ํ์ผ์ ํฌ๊ธฐ : " + leng);
} else {
System.out.println("๊ฒฝ๋ก์ ํ์ผ๋ช
์ ๋ค์ ํ์ธํด๋ณด์ธ์!");
}
// 3.๋๋ ํ ๋ฆฌ(ํด๋) ์ธ์ง?
System.out.println("ํด๋์ธ๊ฐ? " + file.isDirectory());
// 4.ํ์ผ์ธ์ง?
System.out.println("ํ์ผ์ธ๊ฐ? " + file.isFile());
// 5.์ฝ๊ธฐ๊ฐ๋ฅํ๋?
System.out.println("์ฝ๊ธฐ ๊ฐ๋ฅํ๋? " + file.canRead()); //๋ฐ๋ก ๊ถํ์ด ์๋๊ฒ์ด ์์ผ๋ฉด false๊ฐ ๋์จ๋ค.
// 6. ์ฐ๊ธฐ ๊ฐ๋ฅํ๋?
System.out.println("์ฐ๊ธฐ ๊ฐ๋ฅํ๋? "+ file.canWrite()); //์ฝ๊ธฐ ์ ์ฉ ํ์ผ์ด๋ฉด ๋ด์ฉ์ ์ถ๊ฐ ๋ด์ฉ์ด ์ ์ฅ ์๋๋ค.
// 7.์คํ ๊ฐ๋ฅํ๋?
System.out.println("์คํ ๊ฐ๋ฅํ๋? "+ file.canExecute());
// 8.์จ๊ธด ํ์ผ์ด๋?
System.out.println("์จ๊ธด ํ์ผ์ด๋? "+ file.isHidden());
}// UseFile
public static void main(String[] args) {
new UseFile();
}// main
}// class
ํ์ผ ๊ฐ์ฒด ์์ฑ
ํ์ผ ์ฉ๋ ํ์ธ
ํ์ผ์ด ํด๋์ธ๊ฐ? ํ์ผ์ธ๊ฐ?
ํ์ผ์ด ์ฝ๊ณ ์ฐ๊ธฐ๊ฐ ๊ฐ๋ฅํ๋?
ํ์ผ์ด ์คํ ๊ฐ๋ฅํ๋?
ํ์ผ์ด ์จ๊ธด ํ์ผ์ด๋?
๐ ํ์ผ ์ ์ถ๋ ฅ ์คํธ๋ฆผ ์์ฑ
FileReader fr = new FileReader(file);
FileReader fr = new FileReader("/Users/hwang-yunho/Documents/temp.txt");
FileInputStream fis = new FileInputStream(file);
FileInputStream fis = new FileInputStream("/Users/hwang-yunho/Documents/temp.txt");
//์ถ์ฒ : https://yhmane.tistory.com/126
๐ txt ํ์ผ๋ก ๋ฐ์ดํฐ ์ ์ฅํ๊ธฐ
package InputOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class OutputSTreamEX {
public static void main(String[] args) {
try {
OutputStream output = new FileOutputStream("D:/Eclipse/Java/Output.txt");
String str ="์ค๋ ๋ ์จ๋ ์์ฃผ ์ข์ต๋๋ค.";
byte[] by=str.getBytes();
output.write(by);
} catch (Exception e) {
e.getStackTrace();
}
}
}
//์ถ์ฒ : https://coding-factory.tistory.com/282
๐ txt ํ์ผ ๋ถ๋ฌ์ค๊ธฐ
package InputOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class InputStreamEx {
public static void main(String[] args) {
try{
//ํ์ผ ๊ฐ์ฒด ์์ฑ
File file = new File("D:/Eclipse/Java/Output.txt");
//์
๋ ฅ ์คํธ๋ฆผ ์์ฑ
FileReader file_reader = new FileReader(file);
int cur = 0;
while((cur = file_reader.read()) != -1){
System.out.print((char)cur);
}
file_reader.close();
}catch (FileNotFoundException e) {
e.getStackTrace();
}catch(IOException e){
e.getStackTrace();
}
}
}
//์ถ์ฒ : https://coding-factory.tistory.com/282
๐ BufferedInputStream์ ํ์ฉํ์ฌ txt ํ์ผ ๋ถ๋ฌ์ค๊ธฐ
BufferedInputStream ๊ณผ BufferedReader ๋ ์ ๋ ฅ ์์ค๋ก๋ถํฐ ์์ ์ ๋ด๋ถ ๋ฒํผ ํฌ๊ธฐ๋งํผ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ์ฝ๊ณ ๋ฒํผ์ ์ ์ฅํด๋๋ค.
ํ๋ก๊ทธ๋จ์ ์ธ๋ถ์ ์ ๋ ฅ ์์ค๋ก๋ถํฐ ์ง์ ์ฝ๋ ๋์ ๋ฒํผ๋ก๋ถํฐ ์ฝ์์ผ๋ก์จ ์ฝ๊ธฐ ์ฑ๋ฅ์ด ํฅ์๋๋ค.
package InputOutputStream;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
public class InputStreamEx {
public static void main(String[] args) throws IOException {
try {
// ๋ฐ์ดํธ ๋จ์๋ก ํ์ผ์ฝ๊ธฐ
String filePath = "D:/Eclipse/Java/Output.txt"; // ๋์ ํ์ผ
FileInputStream fileStream = null; // ํ์ผ ์คํธ๋ฆผ
fileStream = new FileInputStream( filePath );// ํ์ผ ์คํธ๋ฆผ ์์ฑ
//๋ฒํผ ์ ์ธ
byte[ ] readBuffer = new byte[fileStream.available()];
while (fileStream.read( readBuffer ) != -1){}
System.out.println(new String(readBuffer)); //์ถ๋ ฅ
fileStream.close(); //์คํธ๋ฆผ ๋ซ๊ธฐ
} catch (Exception e) {
e.getStackTrace();
}
}
}
//์ถ์ฒ : https://coding-factory.tistory.com/282
๐ BufferedInputStream์ ํ์ฉํ์ฌ txt ํ์ผ ๋ถ๋ฌ์ค๊ธฐ ( IRRO ์ค์ต )
package day0727;
import java.io.FileInputStream;
import java.io.IOException;
/**
* file๊ณผ ์ฐ๊ฒฐํ์ฌ ํ์ผ์ ๋ด์ฉ์ ์ค ๋จ์๋ก ์ฝ์ ์ ์๋ 16bit ์คํธ๋ฆผ์ ์ฌ์ฉ
*
* @author user
*
*/
public class UseFileReader2 {
public UseFileReader2() throws IOException {
try {
// ๋ฐ์ดํธ ๋จ์๋ก ํ์ผ์ ์ฝ๊ธฐ
String filepath = "E:/dev/temp/java_read.txt"; // ๋์ํ์ผ
FileInputStream fileStream = null; // ํ์ผ ์คํธ๋ฆผ
fileStream = new FileInputStream(filepath); // ํ์ผ ์คํธ๋ฆผ ์์ฑ
// ๋ฒํผ ์ ์ธ
byte[] readBuffer = new byte[fileStream.available()];
while (fileStream.read(readBuffer) != -1) {
}
System.out.println(new String(readBuffer)); // ์ถ๋ ฅ
fileStream.close(); // ์คํธ๋ฆผ ๋ซ๊ธฐ
} catch (Exception e) {
e.getStackTrace();
}//end try catch
}//UseFileReader2
public static void main(String[] args) {
try {
new UseFileReader2();
} catch (IOException e) {
e.printStackTrace();
}//end try catch
}// main
}// class
01. https://coding-factory.tistory.com/์๋ฐ ํ์ผ ์ ์ถ๋ ฅ ์คํธ๋ฆผ ์ค๋ช
[Java] ์๋ฐ ํ์ผ ์ ์ถ๋ ฅ (txtํ์ผ๋ก ์ ์ฅ ๋ฐ ์ฝ์ด์ค๊ธฐ)
File ํด๋์ค Java.ioํจํค์ง์์ ์ ๊ณตํ๋ Fileํด๋์ค๋ ํ์ผ ํฌ๊ธฐ, ํ์ผ ์์ฑ, ํ์ผ ์ด๋ฆ ๋ฑ์ ์ ๋ณด๋ฅผ ์ป์ด๋ด๋ ๊ธฐ๋ฅ๊ณผ ํ์ผ ์์ฑ ๋ฐ ์ญ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ณ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ๊ณ
coding-factory.tistory.com
https://yhmane.tistory.com/์๋ฐ ํ์ผ ์ ์ถ๋ ฅ ์คํธ๋ฆผ ์ค๋ช
[Java] - ์๋ฐ ํ์ผ ๋ค๋ฃจ๊ธฐ | ํ์ผ ์คํธ๋ฆผ ์ ์ถ๋ ฅ
๋ค์ด๊ฐ๋ฉฐ ์๋ฐ๋ฅผ ์ฒ์ ๋ฐฐ์ฐ๊ฒ ๋๋ฉด ์ฝ์ ํ๋ฉด์ ํตํด ์ ๋ ฅ์ ํ๊ณ , ๊ฒฐ๊ณผ๊ฐ์ ์ถ๋ ฅํ๊ฒ ๋ฉ๋๋ค. ํ์ง๋ง, ์ฝ์ ํ๋ฉด์ ํตํ ์ ์ถ๋ ฅ์๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ๋ํ ํ๊ณ๊ฐ ์์ต๋๋ค. ๋ฐ์ดํฐ๊ฐ ํ๋ฐ์ฑ์ด๊ธฐ
yhmane.tistory.com
[JAVA] ์๋ฐ ํ์ผ์ ์ถ๋ ฅ, ํด๋ ๋ด ํ์ผ ์ฝ๊ธฐ ์์
* ํ์ผ ์ฝ๊ธฐ, ํ์ผ ๋ณต์ฌ, ํ์ผ ์ฐ๊ธฐ, ํด๋ ๋ด ํ์ผ ์ฝ๊ธฐ, FileReader, FileWriter, BufferedReader, BufferedWriter * java ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ผ๋ก ํ์ผ ๋ด์ฉ์ ์ฝ๊ณ , ์๋ก์ด ํ์ผ์ ์ฐ๋ ๋ฐฉ๋ฒ ์์ฑ (์์ฑ ํ ctrl+o๋ก ์..
studyingazae.tistory.com
02. https://codevang.tistory.com/์๋ฐ ํ์ผ ์ฃผ์ ๋ฉ์๋ ์ค๋ช
java.io.File ์ฃผ์ ๋ฉ์๋ [1/1]
[ File ํด๋์ค ] ํ์ผ ๋ด์ฉ์ด ์๋, ํ์ผ ์์ฒด(๊ป๋ฐ๊ธฐ)๋ฅผ ๋ค๋ฃธ NIO2๋ง์ผ๋ก๋ ํ์ผ ์กฐ์์ด ์ด๋ ค์ ๋ณํํด์ ์ฌ์ฉํ๋ฉด ํจ์จ์ NIO2์ ์๋ก ๋ณํํ ์ ์์ ํ์ผ ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ฉด ํ์ผ ์คํธ๋ฆผ์ ์ด๊ธฐ
codevang.tistory.com
03. https://froginpot.tistory.com/์๋ฐ mkdir, mkdirs ์ฐจ์ด์ ์ค๋ช
[Java Tips] File.mkdir()๊ณผ File.mkdirs()์ ์ฐจ์ด์
Java API์์๋ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ๊ธฐ ์ํด, File.mkdir()๊ณผ File.mkdirs(), ๋ ๊ฐ์ API๊ฐ ์ ๊ณต๋ฉ๋๋ค. ์ ๋ ๊ฐ์ API๋ ๋ชจ๋ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ๋ ๊ธฐ๋ฅ์ ํ์ง๋ง, ์ธ๋ถ์ ์ผ๋ก๋ ์ฝ๊ฐ ํ๋ฆฐ ๊ธฐ๋ฅ์ ํฉ๋๋ค. Fi
froginpot.tistory.com