import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
// 파일 및 디렉토리 생성, 여러가지 파일객체 메서드
public class FileExam {
public String path = FileExam.class.getResource("").getPath();
// 패스경로에 '/'이 붙어서 나온다.
// ex) /User/game/wow/
public static void main(String[] args) throws IOException {
FileExam fileExam = new FileExam();
// 디렉토리 생성
File directory = new File(fileExam.path+"directory");
fileExam.createDirectory(directory);
System.out.println(directory.getPath()); // 패스경로에 '/' 붙지 않음
// ex) /User/game/wow
// 파일 생성
File file1 = new File(directory.getPath()+"/file1.txt");
File file2 = new File(directory.getPath()+"/file2.txt");
fileExam.createFile(file1);
fileExam.createFile(file2);
// listFiles() 메서드 사용
File filelist = new File(fileExam.path);
fileExam.fileInfo(filelist);
}
public void createFile(File file) throws IOException {
if(!file.exists()){
// 디렉토리가 존재하지 않으면 예외가 발생한다.
file.createNewFile();
}else {
System.out.println("같은 파일이 이미 존재함");
}
} // createFile - end
public void createDirectory(File directory) {
if(!directory.exists()){ // 디렉토리가 존재하지 않는다면
boolean resutl = directory.mkdirs(); // 디렉토리 생성
// mkdir() 경로상의 디렉토리가 하나라도 존재하지 않으면 생성 안됨
// mkdirs() 경로상의 모든 디렉토리를 생성한다. (권장방법)
System.out.println(resutl);
} else{
System.out.println("같은 디렉토리가 이미 존재함");
}
} // createDirectory - end
void fileInfo(File filelist){
// 파일 및 디렉토리의 정보를 파일객체 배열로 담음
File[] files = filelist.listFiles();
// 수정된 날짜 표시를 위해 포매팅
DateFormat formatting = new SimpleDateFormat("yyyy-MM-dd hh:mm");
for(File file : files ){
if(file.isDirectory()){ // 디렉토리이면
System.out.println(file.getName());
}
// else 문을 사용해도 된다.
if(file.isFile()){ // 파일이면
String modified = formatting.format(new Date(file.lastModified()));
System.out.println(modified); // 수정된 날짜
System.out.println(file.length()+"byte"); // 파일의 크기
System.out.println(file.getName()); // 파일 이름
}
System.out.println();
} // for - end
} // fileInfo - end
}
댓글 영역