Notice
Recent Posts
Recent Comments
Link
투케이2K
640. (Android/Java) [유틸 파일] getInternalUsedStorageSpace : 내부 저장소 사용한 용량 크기 구하기 - StatFs 본문
Android
640. (Android/Java) [유틸 파일] getInternalUsedStorageSpace : 내부 저장소 사용한 용량 크기 구하기 - StatFs
투케이2K 2023. 9. 7. 22:13[개발 환경 설정]
개발 툴 : AndroidStudio
[소스 코드]
// -----------------------------------------------------------------------------------------
// TODO [SEARCH FAST] : [RETURN] getInternalUsedStorageSpace : 내부 저장소 사용한 용량 크기 구하기
// -----------------------------------------------------------------------------------------
public static String getInternalUsedStorageSpace(Context mContext) {
/**
* // -----------------------------------------
* [getInternalUsedStorageSpace 메소드 설명]
* // -----------------------------------------
* 1. 내부 저장소 사용한 용량 크기 구하기
* // -----------------------------------------
* 2. 호출 방식 :
*
* C_App.getInternalUsedStorageSpace(A_Intro.this);
*
* // -----------------------------------------
* 3. 리턴 데이터 : 1 (GB)
* // -----------------------------------------
* 4. 추가 설명 :
*
* - StatFs 는 file System 의 정보를 전달해주는 클래스입니다
* // -----------------------------------------
* */
// [리턴 값 선언]
String returnData = "";
double kilobyte = 0.0;
double megabyte = 0.0;
double gigabyte = 0.0;
// [로직 처리 실시]
try {
StatFs stat= new StatFs(Environment.getDataDirectory().getPath());
long byteSize = stat.getTotalBytes() - stat.getAvailableBytes(); // [사용한 용량 확인 byte]
if (byteSize > 0){
kilobyte = byteSize / 1024; // [파일 kilobyte 크기]
megabyte = kilobyte / 1024; // [파일 megabyte 크기]
gigabyte = megabyte / 1024; // [파일 gigabyte 크기]
if (gigabyte > 0){
returnData = String.format("%.2f", gigabyte) + " (GB)"; // 소수점 2자리 까지만 출력
}
else if (megabyte > 0){
returnData = String.format("%.2f", megabyte) + " (MB)"; // 소수점 2자리 까지만 출력
}
else if (kilobyte > 0){
returnData = String.format("%.2f", kilobyte) + " (KB)"; // 소수점 2자리 까지만 출력
}
else {
returnData = String.format("%.2f", byteSize) + " (Byte)"; // 소수점 2자리 까지만 출력
}
}
else {
returnData = "0 (Byte)";
}
} catch (Exception e) {
S_Log._printStackTrace_(mContext, S_FinalMsg.LOG_BUG_STATE, null, e);
}
// [로그 출력 실시]
///*
// ===============================================================
S_Log._D_("내부 저장소 사용한 용량 크기 확인", new String[]{
"RETURN :: " + String.valueOf(returnData)
});
// ===============================================================
// */
// [리턴 반환 실시]
return returnData;
}
[결과 출력]
D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.javaproject.C_App.getInternalUsedStorageSpace(C_App.java:7690)]
I/: ----------------------------------------------------
I/: [LOG :: NOW TIME :: 2023-09-07 15:54:26 목요일]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: 내부 저장소 사용한 용량 크기 확인]
I/: ----------------------------------------------------
I/: [LOG :: RETURN :: 26.27 (GB)]
D///===========//: ================================================
반응형
'Android' 카테고리의 다른 글
Comments