android下SD卡读写相关: 计算手机可用空间

电话: android.permission.   CALL_PHONE
短信: android.permission.   SEND_SMS
写SD卡: android.permission.   WRITE_EXTERNAL_STORAGE
读SD卡:   android.permission. READ_EXTERNAL_STORAGE


//存储到SD卡中
    
context.openFileOutput( "info.dat" , context.   MODE_PRIVATE );
fos.write((userName+ "##" +passWord).getBytes());
fos.close();


//读取SD卡
    FileInputStream fis = context.openFileInput(   "info.dat" );
    BufferedReade   bufr= new   BufferedReader(   new   InputStreamReader(fis));
    String line=bufr.readLine();
    String userName=line.split(   "##" )[0];
    String passWord=line.split(   "##" )[1];



----------------------------------------------------------------------------------------------------------


计算手机可用空间:

public   class   MainActivity   extends   Activity {

       private   TextView   tv ;
      
       @Override
       protected   void   onCreate(Bundle savedInstanceState) {
               super .onCreate(savedInstanceState);
            setContentView(R.layout.   activity_main );
            
               //获取并判断手机的SD卡状态
            String state = Environment. getExternalStorageState();
               if (!Environment.   MEDIA_MOUNTED .equals(state)){
                  Toast. makeText(getApplicationContext(),   "SD卡不存在" , 0).show();
                     return ;
            }
            
            
            
               tv = (TextView) findViewById(R.id.   tv );
            tv .setText(   "SD卡的可用空间:"   +getAvailSDSize()+ "\n"   + "手机内存空间:"   +getAvailROMSize());
            
      }
      
      
      
       /**
       * 获取SD卡可用空间
       *
       */
       public   String getAvailSDSize(){
            
            File path=Environment. getExternalStorageDirectory();    //得到SD卡目录
            StatFs  stat=   new   StatFs(path.getPath());          //得到SD卡目录对应路径
               long   blockSize=stat.getBlockSize();
               long   availableBlocks=stat.getAvailableBlocks();
               long   totalSize=blockSize*availableBlocks;      //byte
               return   Formatter. formatFileSize( this , totalSize);
            
      }
      
      
       /**
       *
       * 获取手机内部存数(ROM)可用空间
       */
        public   String getAvailROMSize(){
            
            File path=Environment. getDataDirectory();    //得到手机内存目录
            StatFs  stat=   new   StatFs(path.getPath());    //得到 手机内存目录 对应路径
               long   blockSize=stat.getBlockSize();
               long   availableBlocks=stat.getAvailableBlocks();
               long   totalSize=blockSize*availableBlocks;      //byte
               return   Formatter. formatFileSize( this , totalSize);
            
      }
      
      
      
      
      


}



---------------------------------------------------------------------



       /**
       * 获取某个目录的大小
       *   @param   path
       *   @return
       */
       public   String getAvailableSpace(String path){
            StatFs statf =   new   StatFs(path);
               long   size = statf. getAvailableBlocks()*statf. getBlockSize();
               return   Formatter.formatFileSize( this , size);
      }









    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值