zoukankan      html  css  js  c++  java
  • android 存储操作 大小显示换算 kb mb KB MB 读取

    package irdc.cunchu;
    
    import irdc.cunchu.R;
    
    import java.io.File;
    import java.text.DecimalFormat;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.os.Environment;
    import android.os.StatFs;
    import android.view.View;
    import android.widget.Button;
    import android.widget.ProgressBar;
    import android.widget.TextView;
    
    public class cunchu extends Activity
    {
      private Button myButton;
      private ProgressBar myProgressBar;
      private TextView myTextView;
    
      /** Called when the activity is first created. */
      @Override
      public void onCreate(Bundle savedInstanceState)
      {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    
        myButton = (Button) findViewById(R.id.myButton);
        myProgressBar = (ProgressBar) findViewById(R.id.myProgressBar);
        myTextView = (TextView) findViewById(R.id.myTextView);
    
        myButton.setOnClickListener(new Button.OnClickListener()
        {
    
          @Override
          public void onClick(View arg0)
          {
            showSize();
          }
    
        });
    
      }
    
      private void showSize()
      {
        /*  将TextView及ProgressBar设置为空值及0 */
        myTextView.setText("");
        myProgressBar.setProgress(0);
        /* 判断存储卡是否插入 */
        if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))
        {
          /* �取得SD CARD文件路径一般是/sdcard */
          File path = Environment.getExternalStorageDirectory();
    
          /* StatFs看文件系统空间使用状况 */
          StatFs statFs = new StatFs(path.getPath());
          /* Block的size*/
          long blockSize = statFs.getBlockSize();
          /* 总Block数量 */
          long totalBlocks = statFs.getBlockCount();
          /* �已使用的Block数量 */
          long availableBlocks = statFs.getAvailableBlocks();
    
          String[] total = fileSize(totalBlocks * blockSize);
          String[] available = fileSize(availableBlocks * blockSize);
    
          /* getMax取得在main.xml里ProgressBar设置的最大值 */
          int ss = Integer.parseInt(available[0]) * myProgressBar.getMax()
              / Integer.parseInt(total[0]);
    
          myProgressBar.setProgress(ss);
          String text = "总共" + total[0] + total[1] + "\n";
          text += "可用" + available[0] + available[1];
          myTextView.setText(text);
    
        } else if (Environment.getExternalStorageState().equals(
            Environment.MEDIA_REMOVED))
        {
          String text = "SD CARD已删除";
          myTextView.setText(text);
        }
      }
    
      /*返回为字符串数组[0]为大小[1]为单位KB或MB*/
      private String[] fileSize(long size)
      {
        String str = "";
        if (size >= 1024)
        {
          str = "KB";
          size /= 1024;
          if (size >= 1024)
          {
            str = "MB";
            size /= 1024;
          }
        }
    
        DecimalFormat formatter = new DecimalFormat();
        /* 每3个数字用,分隔如:1,000 */
        formatter.setGroupingSize(3);
        String result[] = new String[2];
        result[0] = formatter.format(size);
        result[1] = str;
    
        return result;
      }
    
    }

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="irdc.cunchu"
          android:versionCode="1"
          android:versionName="1.0.0">
        <application android:icon="@drawable/icon" android:label="@string/app_name">
            <activity android:name="irdc.cunchu.cunchu"
                      android:label="@string/app_name">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
    </manifest> 

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation="vertical"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      >
      <Button
      android:id="@+id/myButton"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"  
      android:text="@string/strButton"
      >
      </Button>
      <TextView  
      android:id="@+id/myTextView"
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      >
      </TextView>
      <ProgressBar 
      android:id="@+id/myProgressBar"
      style="?android:attr/progressBarStyleHorizontal"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:max="100"
      android:progress="0">
      </ProgressBar>
    </LinearLayout>
    






  • 相关阅读:
    Ⅲ:作业
    Ⅱ:python入门
    Auth模块
    django中间件
    Django的cookie以及session
    form组件
    Django Ajax
    Django模板层3和ajax初始
    聚合/分组 查询 事务
    Django ORM常用模块
  • 原文地址:https://www.cnblogs.com/flyingsir/p/3983738.html
Copyright © 2011-2022 走看看