计算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");

 

       }

    }

}

 

效果:计算SDCard上的容量_第1张图片

你可能感兴趣的:(Android:常用小代码,StatFs,文件容量,Android文件容量)