파일의 크기와 용량 단위 변환은 프로그래밍에서 자주 사용되는 기능 중 하나입니다. Java에서는 Apache Commons IO 라이브러리를 사용하여 파일 크기와 용량 단위를 간편하게 변환할 수 있습니다. Apache Commons IO는 파일 및 디렉토리 조작에 유용한 다양한 기능을 제공하는 라이브러리입니다. 이번 포스트에서는 Apache Commons IO를 사용하여 파일 크기와 용량 단위를 변환하는 방법에 대해 알아보겠습니다.
1. Apache Commons IO 라이브러리 추가하기
pom.xml
또는 Gradle의 build.gradle
파일에 다음 의존성을 추가하여 Apache Commons IO 라이브러리를 프로젝트에 추가합니다.
Maven:
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
</dependency>
Gradle:
implementation 'commons-io:commons-io:2.11.0'
2. 파일 크기와 용량 단위 변환하기
파일의 크기를 바이트(byte) 단위로 얻은 후, 이를 킬로바이트(KB), 메가바이트(MB), 기가바이트(GB) 등의 다른 단위로 변환할 수 있습니다. Apache Commons IO를 사용하면 이러한 변환을 간단하게 수행할 수 있습니다.
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class FileSizeConversionExample {
public static void main(String[] args) {
File file = new File("path/to/file");
try {
long fileSize = FileUtils.sizeOf(file); // 파일 크기를 바이트 단위로 얻기
long fileSizeInKB = FileUtils.sizeOf(file) / FileUtils.ONE_KB; // 킬로바이트로 변환
double fileSizeInMB = FileUtils.sizeOf(file) / FileUtils.ONE_MB; // 메가바이트로 변환
double fileSizeInGB = FileUtils.sizeOf(file) / FileUtils.ONE_GB; // 기가바이트로 변환
System.out.println("File size: " + fileSize + " bytes");
System.out.println("File size in KB: " + fileSizeInKB + " KB");
System.out.println("File size in MB: " + fileSizeInMB + " MB");
System.out.println("File size in GB: " + fileSizeInGB + " GB");
} catch (IOException e) {
e.printStackTrace();
}
}
}
위의 예제에서는 FileUtils.sizeOf()
메서드를 사용하여 파일의 크기를 바이트 단위로 얻을 수 있습니다. 그런 다음 이를 파일의 크기를 킬로바이트, 메가바이트, 기가바이트로 변환하여 출력합니다.
3. 실행 결과 예시
실행하면 다음과 같은 결과가 출력됩니다.
File size: 64723 bytes
File size in KB: 63 KB
File size in MB: 0.06201171875 MB
File size in GB: 6.103515625E-5 GB
마무리
Apache Commons IO를 사용하여 파일 크기와 용량 단위 변환을 수행하는 방법에 대해 알아보았습니다. 이러한 변환 기능을 사용하면 파일 작업이나 디렉토리 관리 등 다양한 상황에서 파일 크기를 보다 편리하게 다룰 수 있습니다.
더 자세한 내용은 Apache Commons IO 공식 문서를 참조하세요.
참고: 이 예제는 Apache Commons IO 2.11.0 버전을 기준으로 작성되었습니다.