[Java] 파일 용량 체크, 2가지 방법
May 15, 2024
자바에서 File의 용량(크기)을 가져오는 방법에 대해서 알아보겠습니다.
1. File.length()를 이용한 방법
File.length()
는 File의 크기를 바이트 단위로 리턴합니다. 1024로 나누면 KB로 변환할 수 있으며, 다시 1024로 나누면 MB로 변환할 수 있습니다.
import java.io.File;
public class Example {
public static void main(String[] args) {
File file = new File("example.txt"); // 크기를 체크할 파일 경로 입력
if (file.exists()) {
long fileSizeInBytes = file.length();
double fileSizeInKB = fileSizeInBytes / 1024; // 바이트를 킬로바이트로 변환
double fileSizeInMB = fileSizeInKB / 1024; // 킬로바이트를 메가바이트로 변환
System.out.println("File Size in Bytes: " + fileSizeInBytes);
System.out.println("File Size in Kilobytes: " + fileSizeInKB);
System.out.println("File Size in Megabytes: " + fileSizeInMB);
} else {
System.out.println("File not found.");
}
}
}
Output:
File Size in Bytes: 1676264
File Size in Kilobytes: 1636.0
File Size in Megabytes: 1.59765625
2. Files.size()를 이용한 방법
Java 7 이상에서, Path와 Files를 이용하여 파일 크기를 가져올 수 있습니다.
Files.size(Path)
: Path의 용량을 바이트로 리턴- 바이트를 1024로 나누어 KB, MB 단위로 변환할 수 있음
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class Example {
public static void main(String[] args) {
Path filePath = Paths.get("example.txt"); // 크기를 체크할 파일 경로 입력
try {
long fileSizeInBytes = Files.size(filePath);
double fileSizeInKB = fileSizeInBytes / 1024; // 바이트를 킬로바이트로 변환
double fileSizeInMB = fileSizeInKB / 1024; // 킬로바이트를 메가바이트로 변환
System.out.println("File Size in Bytes: " + fileSizeInBytes);
System.out.println("File Size in Kilobytes: " + fileSizeInKB);
System.out.println("File Size in Megabytes: " + fileSizeInMB);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Output:
File Size in Bytes: 1676264
File Size in Kilobytes: 1636.0
File Size in Megabytes: 1.59765625