計算SDCard上的容量

計算SDCard上的容量

使用的類:StatFs,此類保存的是對SDCard上容量的一些信息。

1、返回剩餘的快:getBlockCount()

2、返回總共的快:getBlockCount()

3、返回一個快的大小:getBlockSize()

4、返回剩餘的快(包括系統預留無法訪問的):getAvailableBlocks()

 

例子:

package lyx.feng.other;

 

import lyx.feng.simpletextdemo.R;

import android.app.Activity;

import android.os.Bundle;

import android.os.Environment;

import android.os.StatFs;

import android.widget.TextView;

 

public class StatFsActivity extends Activity {

    private TextView tv = null;

    private StringBuffer buffer = null;

    private StatFs statFs = null;

 

    @Override

    protected void onCreate(Bundle savedInstanceState) {

       // TODO Auto-generated method stub

       super.onCreate(savedInstanceState);

       super.setContentView(R.layout.statfs);

       this.tv = (TextView) super.findViewById(R.id.statfs_tv);

       this.buffer = new StringBuffer();

       this.getStringBuffer();

       this.tv.setText(this.buffer.toString());

    }

 

    @SuppressWarnings("deprecation")

    private void getStringBuffer() {

       if (Environment.getExternalStorageState().equals(

              Environment.MEDIA_MOUNTED)) {

           this.statFs = new StatFs(Environment.getExternalStorageDirectory()

                  .getPath());

           this.buffer.append("總快:" + this.statFs.getBlockCount() + "\n");

           this.buffer

                  .append("可用快:" + this.statFs.getAvailableBlocks() + "\n");

           this.buffer.append("快的大小:" + this.statFs.getBlockSize() + "\n");

           this.buffer.append("剩餘快(全):" + this.statFs.getFreeBlocks() + "\n");

           this.buffer.append("全部大小:" + (long) this.statFs.getBlockCount()

                  * this.statFs.getBlockSize() / 1024 / 1024 + "\n");

           this.buffer.append("剩餘大小:"

                  + (long) this.statFs.getAvailableBlocks()

                  * this.statFs.getBlockSize() / 1024 / 1024 + "\n");

 

       }

    }

}

 

效果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章