1. 실행 java Getfs [파일] , 즉 파일에 인자를 넘겨 주어서 파일의 크기를 알고 싶은 파일을 지정할 수 있어야 한다.
2. 파일이 존재 여부를 확인한다.
- 형태에 따라 '파일', '디렉토리', '파일의 미존재'에 따라 구분하여 출력한다.
3. 용량의 크기에 따라 단위를 "Byte", "Kilobyte", "Megabyte"등으로 바뀌어서 출력 가능하도록 한다.
4. 출력시 소수점 셋째 자리에서 반올림하여 소수점 둘째자리까지 표시한다.
[필요지식]
1. 명령 프롬프트 사용하기.
2. javac로 컴파일, java로 실행하기
3. 용량의 단위 개념 : 1024 단위로 나뉘어 지며 순서는 바이트, 킬로, 메가, 기가, 테라 순..
3. if문을 통한 분기문
4. while loop를 통한 반복문
5. File 클래스의 사용
[실행상태]

[소스]
// Getfs.java
import java.io.File;
import java.text.*; // 포맷 출력을 위함
public final class Getfs {
public static void main(String args[]) {
// 실행될때 넘어오는 인자를 확인
if(args.length>0) { // 인자의 개수가 0보다 클 때
File file = new File(args[0]); // 입력받은 첫번째 인자를 화일 이름으로 받는다.
// 파일인지 판단
if (file.isFile()) {
long length = file.length(); // 넘어온 파일의 길이를 구하여
double LengthbyUnit = (double)length;
int Unit=0;
while(LengthbyUnit > 1024 && Unit < 5) { // 단위 숫자로 나누고 한번 나눌 때마다 Unit 증가
LengthbyUnit = LengthbyUnit / 1024;
Unit++;
}
DecimalFormat df = new DecimalFormat("#,##0.00");
// 화면에 출력part
System.out.print("Size of file : " + df.format(LengthbyUnit)); // 출력한다.
switch(Unit) {
case 0:
System.out.println(" Bytes");
break;
case 1:
System.out.println(" KB");
break;
case 2:
System.out.println(" MB");
break;
case 3:
System.out.println(" GB");
break;
case 4:
System.out.println(" TB");
}
}
// 디렉토리인지 판단
else if (file.isDirectory()){
System.out.println("Directory!");
}
else {
System.out.println("not exist!");
}
}
}
}
댓글 없음:
댓글 쓰기