SDカードの空き容量を調べる方法

StatFsにSDカードのパスを渡すことでさまざまな情報を得ることができます。
SDカードの空き容量を調べるには、この情報から 総ブロック数×空きブロック数 で計算できます。

[参考記事] SDカードが接続されているかどうか知る方法

StatFs#getBlockCount()総ブロック数
StatFs#getBlockSize()ブロックサイズ[byte]
StatFs#getFreeBlocks()スーパーユーザーが使用可能な空きブロック数
StatFs#getAvailableBlocks()空きブロック数
String path = Environment.getExternalStorageDirectory().getAbsolutePath();
StatFs statFs = new StatFs(path);

DecimalFormat format_mem =   new DecimalFormat("#,###KB");
long total = (statFs.getBlockSize() * statFs.getAvailableBlocks()) / 1024;
long free =  (statFs.getBlockSize() * statFs.getBlockCount()) / 1024;

Log.i(TAG,"---------- SD Card Info --------");
Log.i(TAG,"Total = " + format_mem.format(total);
Log.i(TAG,"Free  = " + format_mem.format(free);
Log.i(TAG,"--------------------------------");

関連記事

スポンサーリンク

<TEXTAREA> 複数行の入力フィールドを作成する

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る