//파일 참조 클래스 > 객체 생성
File file = new File("C:\\class\\code\\java\\file\\data.txt");
//파일이 있는지 사전체크한다.
if (file.exists()) {
System.out.println("파일이 있습니다.");
System.out.println(file.getName()); //data.txt
System.out.println(file.isFile()); //true
System.out.println(file.isDirectory()); //false
System.out.println(file.length()); //36 > 파일크기(바이트)
System.out.println(file.getAbsolutePath()); //C:\class\code\java\file\data.txt > 전체 경로
System.out.println(file.lastModified()); //1691379562704 > 마지막으로 수정한 날짜
System.out.println(file.isHidden()); //false
//tick > 년원일시분초
Calendar c1 = Calendar.getInstance();
System.out.println(c1.getTimeInMillis());
c1.setTimeInMillis(file.lastModified());
System.out.printf("%tF %tT\n", c1, c1);
} else {
System.out.println("파일이 없습니다.");
}
파일이 있습니다.
number.txt
true
false
31
C:\class\code\git\home\JavaTest\data\number.txt
1691669548075
false
1691763344824
2023-08-10 21:12:28
//파일 참조 객체와 사용법이 같음
File dir = new File("C:\\class\\code\\git\\home\\JavaTest\\data");
if (dir.exists()) {
System.out.println(dir.getName()); //data
System.out.println(dir.isDirectory()); //true
System.out.println(dir.length()); //0 > 폴더 자체의 크기는 없다.
System.out.println(dir.getParent()); //C:\class\code\git\home\JavaTest
} else {
System.out.println("폴더가 없습니다.");
}
data
true
0
C:\class\code\git\home\JavaTest
C:\class\code\java\file 폴더에 hello.txt 파일 생성하기
//파일 생성하기 : 저장할 파일 이름까지 설정힌다.
File file = new File("C:\\class\\code\\java\\file\\hello.txt");
if (!file.exists()) {
try {
System.out.println(file.createNewFile()); //파일 생성
} catch (Exception e) {
e.printStackTrace();
}
} else {
System.out.println("이미 동일한 파일이 존재합니다.");
}
C:\class\code\java\move 폴더 속 data.txt 파일 삭제하기
File file = new File("C:\\class\\code\\java\\move\\data.txt");
if (file.exists()) {
System.out.println(file.delete()); //주의!! 복구 안됨!!
}
//파일명 바꾸기
File file = new File("C:\\class\\code\\java\\file\\데이터1.txt");
File newFile = new File("C:\\class\\code\\java\\file\\data.txt");
if (file.exists()) {
//고쳐질 경로와 파일 이름을 매개변수로 받는다.
System.out.println(file.renameTo(newFile));
}
//폴더 이동하기
File dir = new File("C:\\class\\code\\java\\file\\TODO");
File newDir = new File("C:\\class\\code\\java\\move\\TODO");
if(dir.exists()) {
System.out.println(dir.renameTo(newDir));
}
C:\class\code\java 폴더에 하위 폴더 생성하기
//폴더 만들기
File dir = new File("C:\\class\\code\\java\\aa");
File dirs = new File("C:\\class\\code\\java\\bb\\cc");
if(!dir.exists()) {
System.out.println(dir.mkdir()); //aa 폴더 생성
System.out.println(dir.mkdirs()); //bb, cc 폴더 생성
}
TODO 폴더 삭제하기
File dir = new File("C:\\class\\code\\java\\move\\TODO");
if(dir.exists()) {
System.out.println(dir.delete());
}
String path = "C:\\class\\dev\\eclipse";
File dir = new File(path);
File[] list = dir.listFiles();
//list가 폴더이면 [폴더명]출력
for (File d : list) {
if(d.isDirectory()) {
System.out.printf("[%s]\n", d.getName());
}
}
//list가 파일이면 파일명 출력
for (File f : list) {
if(f.isFile()) {
System.out.println(f.getName());
}
}
[dir]
file1.txt
file2.txt