자바에서 디렉토리를 생성하는 방법과 전체공간과 가용공간을 알아보는 메소드 활용

안녕하세요

이번 시간에는 제목이 곧 내용입니다.

자바에서 디렉토리를 생성하고, 삭제하는 방법과

생성된 디렉토리의 전체공간과 가용공간이 얼마인지 알아보는 시간을 가지겠습니다.


이번 내용도 예제에 주석을 달면서 설명하겠습니다~


public class test {

public static void main(String[] args) {

//디렉토리를 만들어보자.
File dir = new File("sample"); //디렉토리명 'sample' 지정
boolean bool=dir.exists();
System.out.println(dir.getName()+"의 존재 여부 : " + bool);
if(!bool){ // 디렉토리가 존재하지 않는다면 생성
boolean b = dir.mkdir(); // 단일 디렉토리 생성
System.out.println("디렉토리 생성 여부 : " + b);
}

//디렉토리와 그 안에 세부 디렉토리를 생성하고 싶을 때
File dir2 = new File("example", "day01"); // example 폴더 안에 day01 폴더 생김
if(!dir2.exists()){
boolean c = dir2.mkdirs(); // 여러 디렉토리 생성 (mkdirs)
System.out.println("디렉토리2 생성 여부 : " + c);
}

//디렉토리 이름 변경 : renameTo(File f) : sample=> sample2로 변경
dir.renameTo(new File("sample2"));

//디렉토리 삭제 : delete()
//해당 디렉토리에 파일이 없을 경우만 삭제한다.

boolean d = dir2.delete();
System.out.println("삭제 여부 : " + d); // example은 삭제 안되고 day01 디렉토리 삭제됨
long tspace = dir.getTotalSpace(); // 디렉토리 전체공간
long uspace = dir.getUsableSpace(); // 가용공간
System.out.println("tspace="+tspace+", uspace="+uspace);

//C:/ 디렉토리 아래 파일 목록을 가져오자.
File dir3 = new File("C:/");
// 두 가지 방법이 있다
//1. String[] list()

String[] files = dir3.list();
if(files!=null){
System.out.println("----------"+dir3.getName());
for(String file : files){
System.out.println(file);
}
}

System.out.println("********************************");

//2. File[] listFiles()
File[] files2 = dir3.listFiles();
if(files2!=null){
System.out.println("---------"+dir3.getName());
for(File file : files2){
System.out.println(file);
}
}
}
}


위의 결과는 아래와 같습니다. 직접 소스를 쳐보고 이해하면서 결과를 이해하면 도움이 될 것 같습니다.





이전에 썼던 예제와 오늘을 썼던 예제를 응용하면 아래와 같은 결과도 나옵니다

결과는 길게 나왔지만 소스는 짧습니다.



public class test {

public static void main(String[] args) {

// C 디렉토리의 파일/DIR 목록을 가져오되 아래와 같이 출력되도록 하세요
// File[] listFiles() 메소드 활용
/* -------------------------------------------
* 파일명 DIR/FILE 여부 파일크기 마지막 수정날짜
* */

File dir = new File("C:/");

File[] files2 = dir.listFiles();
if(files2!=null){

System.out.println("--------------------------------------------------------------------------");
System.out.println("파일명\t\tDIR/FILE\t파일크기\t마지막 수정일");
System.out.println("--------------------------------------------------------------------------");

for(File file : files2){
String fname = file.getName();
String type = (file.isDirectory())?"DIR":"File";
long fsize = file.length();
long time = file.lastModified();
Date date = new Date(time);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String lastDate = sdf.format(date);

System.out.println(fname + "\t\t\t\t  " + type + "\t\t  " + fsize + "\t  " + lastDate);
}

System.out.println("--------------------------------------------------------------------------");

}


}

}


댓글 없음:

댓글 쓰기