package kr.or.ddit.basic;
import java.io.File;
import java.io.IOException;
public class T01FileTest {
public static void main(String[] args) throws IOException {
//File 객체 만들기 연습
//1. new File(String 파일 도는 경로명)
// => 디렉토리와 디렉토리 사이 또는 디렉토리와 파일명 사이의 구분문자는 '\'를
// 사용하거나 '/'를 사용할 수 있다.
// \ 단점 : 이스케이프로 인식할 수 있어서 한번더 써야함 \\
// 핸들링할수 있는 객체를 만드는것 , 파일생성하는것이 아님
File file = new File("d:/D_Other/test.txt");
//.getName() : 이름 알수 있음
System.out.println("파일명 : "+ file.getName());
//.isDirectory() : 디렉토리 알 수 있음 있으면 true 없으면 flase
System.out.println("파일 여부 :" + file.isFile());
System.out.println("디렉토리(폴더) 여부 :" + file.isDirectory());
System.out.println("--------------------------------------------------");
File file2 = new File("d:/D_Other");
System.out.println(file2.getName() + "은");
if(file2.isFile()) {
System.out.println("파일입니다.");
}else if(file2.isDirectory()) {
System.out.println("디렉토리(폴더) 입니다.");
}
System.out.println("---------------------------------------------------");
//2. new File(File parent, String child)
// => 'parent' 디렉토리 안에 있는 'child' 파일 또는 디렉토리를 위한 파일 객체 생성
//file3 = "d:/D_Other"+ "text.txt"
File file3 = new File(file2, "text.txt");
//해당 파일 사이즈 아는 법 :file3.length()
System.out.println(file3.getName() + "의 용량 크기 : " + file3.length()+ "(bytes)");
//3. new File(String parent, String child)
// ./ 현재경로 => 내가 작성하고 있는 자바 프로젝트
// ../ 상위 경로
File file4 = new File(".\\D_Oher\\test\\..", "test.txt");
//절대경로 : 파일 경로 지정하는데 내가 어디 있든지 파일 경로가 변치않음
// 윈도우에서는 절대경로 처음 에는 드라이브 문자(이름) 나와야함
//상대경로 : 내가 어디 있는지 경로가 바꿈 시작을 . 이나 .. 을 시작함
// 장점: 파일만 복붙해도 경로가 ...
System.out.println("절대 경로 : " + file4.getAbsolutePath());
//경로 : 생성자 넣은것을 그래도 넣음
//getPath() 파라미터 그대로 가져오는것
System.out.println("경로 : "+ file4.getPath());
//표준경로: . 빠짐 / 실제 의미하는 경로를 계산을 해서 알려줌
System.out.println("표준 경로 : "+ file4.getCanonicalPath());
/*
* 디렉토리(폴더) 만들기
* 만들수 있는 권한이 있는 폴더에 만들수 있다
*
* 1. mkdir() => File 객체의 경로중 마지막 위치의 디렉토리를 만든다.
* 중간의 경로가 모두 미리 만들어져 있어야 한다.
* 2. mkdirs() => 중간의 경로가 없으면 중간의 경로도 새롭게 생성한 후 마지막 위치의 디렉토리를
* 만들어 준다.
* => 위 두 메서드 모두 만들기를 성공하면 true, 실행하면 false 반환한다.
*/
File file5 = new File("d:/D_Other/연습용");
if(file5.mkdir()) {
System.out.println(file5.getName() + "만들기 성공!");
}else {
System.out.println(file5.getName() +" 만들기 실패!!");
}
File file6 = new File("d:/D_Other/test/java/src");
if(file6.mkdirs()) {
System.out.println(file6.getName() + "만들기 성공!");
}else {
System.out.println(file6.getName() +" 만들기 실패!!");
}
}
}