[JAVA] 정리/파일(file)

파일(file) - 2. 파일 조작(새로 만들기, 파일명 수정, 파일 이동, 파일 삭제)

쎈코 2023. 2. 26. 15:25

파일 조작

1. 새 파일 만들기(file.createNewFile())


String path = "C:\\class\\code\\java\\file\\수업.txt";

File file = new File(path);

 

file.createNewFile();  <- 예외넘기기 > try객체로 감싸줘야 함


try {
     System.out.println(file.createNewFile());
} catch (IOException e) {
     e.printStackTrace();
}     //참조객체가 알고있는 경로에 파일을 만들어 줌

 

▼▼▼▼▼ try-catch 문 사용법 

클래스_예외처리(Exception) (tistory.com)

 

 

2. 파일명 수정하기(file.renameTo())

- 수업.txt > class.txt
-> 바꾸려는 파일명이 동일한 경로 내 중복되는 파일명이 이미 있으면 false

1. 원본 참조객체 생성(수업)
String path = "C:\\class\\code\\java\\file\\수업.txt";
File file = new File(path);

2. 수정 후를 참조하는 객체 생성(class)
String path2 = "C:\\class\\code\\java\\file\\class.txt"; //내가 바꾸려는 이름의 path를 만듦
File file2 = new File(path2);

 

3. renameTo() 메소드로 수정
if(file.exists()) {
     boolean result = file.renameTo(file2);      //원본파일.renameTo(수정파일);
     //앞에있는 파일의 경로와 파일을 인자값으로 들어간 값의 경로와 파일로 바뀜
     System.out.println(result);                       //true. 파일 이름 수정이 성공했는지 실패했는지 알려줌
     //실패(false)하는 경우 : 이미 같은 경로 내 같은 이름의 파일이 있을때(중복됐을때 false)
}

 

3. 파일 이동하기(file.renameTo)

- file 폴더 안에 있는 수업.txt 파일을 move 폴더로 이동

//원본
String path = "C:\\class\\code\\java\\file\\수업.txt";
File file = new File(path);

//이동할 폴더
String path2 = "C:\\class\\code\\java\\move\\test.txt"; //폴더(file -> move)와 파일명(수업 -> test)을 모두 수정할 수 있다.
File file2 = new File(path2);

if(file.exists()) {
     boolean result = file.renameTo(file2);
     System.out.println(result);
}

 

file.renameTo(file2) : 끝에 있는 파일만 바꾸는게 아니고 전체 경로를 바꾸는 것임

 

4. 파일 삭제하기(file.delete())

String path = "C:\\class\\code\\java\\file\\test.txt";
File file = new File(path);

if(file.exists()) {
     //휴지통 삭제: "휴지통"폴더로 이동하기
     //진짜 삭제: 하드 디스크에서 소멸시킴
     boolean result = file.delete();      //진짜 삭제(복구 불가능)
     System.out.println(result);            //삭제 됐으면 true. 삭제 실패시 false

     //파일이 어딘가에 열려있으면 삭제 불가능 -> false
}