计算SDCard上的容量

来源:互联网 发布:音频矩阵器使用说明 编辑:程序博客网 时间:2024/06/10 03:22

计算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 TextViewtv = null;

    private StringBufferbuffer = null;

    private StatFsstatFs = 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");

 

       }

    }

}

 

效果:

0 0
原创粉丝点击