- File
File 클래스
1. 파일,폴더의 정보를 관리하는 클래스. 없는 파일도 관리가 가능하다.
2. 폴더의 구분자 : 폴더를 구분할 수 있는 문자.
- 윈도우 : \\,/ => c:\\, c:/
- 리녹스,맥 : /
📌
package chap14;
import java.io.File;
public class FileEx1 {
public static void main(String[] args) {
String filepath = "c:/";
//주의! : 역슬래시를 사용하여 파일을 구분하고자 하는 경우 하나만 사용하면 안된다.
// 반드시 두번 쓸것.
//f1 : c 드라이브의 root폴더 관리
File f1 = new File(filepath);
//f1.list() : f1 파일의 하위 폴더/파일의 이름 배열로 리턴
String[] files = f1.list();
for(String f : files) { //f : c:/의 하위폴더/파일 한개의 이름 (숨김폴더까지 다 리턴)
File f2 = new File(filepath,f); //filepath 폴더 중 f이름을 가진 파일/폴더를 f2에 집어 넣어줌.
if(f2.isDirectory()) // 폴더 인지 확인하는
System.out.printf("%s:디렉토리\\n",f);
else //파일인지 확인하는
System.out.printf("%s:파일(%,dbyte)\\n",f,f2.length()); //f2.length() : 파일의 크기 리턴
//%,d : 세자리 마다 ,를 찍어 10진 정수로 출력.
}
}
}
- File 클래스의 주요 메서드
File 클래스의 주요 메서드
getAbsolutePath() : File 객체의 절대 경로
getName() : 파일의 이름
boolean mkdir() : 한개의 폴더 생성. 하위폴더 1개
boolean mkdirs() : 한번에 여러개의 폴더 생성. 하위폴더의 하위폴더....단계별로 1개.
boolean createNewFile() : 파일 생성. IOException 예외 처리
(권한이 없는 경우 예외가 발생하므로 예외처리 필요.)
boolean renameTo(File) : 파일의 이름 변경
long lastModified() : 최종 수정시간.
1970이후부터 파일수정시간까지 밀리초로 리턴
boolean delete() : 파일삭제
📌
package chap14;
import java.io.File;
import java.io.IOException;
import java.util.Date;
public class FileEx2 {
public static void main(String[] args) throws IOException {
File f1 = new File("c:/temp1");
System.out.printf("%s 폴더생성 : %b%n",f1.getAbsolutePath(),f1.mkdir());
File f2 = new File("c:/temp1/test.txt");
// f2.createNewFile() : IOException 예외 처리 필요.
// why? 파일을 못 만들경우의 예외처리 필요하므로.
System.out.printf("%s 파일생성:%b%n",f2.getAbsolutePath(),f2.createNewFile());
File f3 = new File("c:/temp1/test2.txt"); //test2.txt 파일 존재하지 않음
System.out.printf("%s->%s 이름변경:%b%n",f2.getName(),f3.getName(),f2.renameTo(f3));
System.out.printf("%s 파일 최종 수정시간:%s%n",f3.getName(),new Date(f3.lastModified()));
System.out.printf("%s 파일 삭제:%b%n",f3.getName(),f3.delete());
}
}
'수업(국비지원) > Java' 카테고리의 다른 글
| [Java] chap14 : IO기반 입출력 - Properties 클래스 (0) | 2023.04.17 |
|---|---|
| [Java] chap14 : IO기반 입출력 - IO Exam1. (0) | 2023.04.17 |
| [Java] chap14 : IO기반 입출력 - FileWriter 클래스 (0) | 2023.04.17 |
| [Java] chap14 : IO기반 입출력 - FileOutputStream 클래스 (0) | 2023.04.17 |
| [Java] chap14 : IO기반 입출력 - FileReader 클래스 (0) | 2023.04.17 |