获得手机内容空间大小

 获得手机内容空间 大小 代码  1 public class MainActivity extends Activity {
 2
 3
 4     private TextView tv_01;
 5     @Override
 6     protected void onCreate(Bundle savedInstanceState) {
 7         super.onCreate(savedInstanceState);
 8         setContentView(R.layout.activity_main);
 9
10         tv_01 = (TextView) findViewById(R.id.tv_01);
11
12         // 得到 SD卡的信息
13         // Environment.getExternalStorageDirectory() 返回路径 /mnt/sdcard
14         File sdcardFileDir = Environment.getExternalStorageDirectory();
15         String SDmemory = getMemory(sdcardFileDir);
16
17         // 得到 手机内部存储空间
18         // Environment.getDataDirectory()   返回路径   /data
19         File dataFileDir = Environment.getDataDirectory();
20         String dataMemory = getMemory(dataFileDir);
21
22         tv_01.setText("SD卡 "+SDmemory+"\n手机内部 "+dataMemory);
23     }
24
25
26     public String getMemory(File path){
27
28         // path.getPath() 返回 该 文件的路径
29         // 获得  该路径下 磁盘状态
30         // statFs  检索文件系统的整个信息空间
31         StatFs stat = new StatFs(path.getPath());
32         // 获得 每个扇区的带大小
33
34         // 在较高版本的 系统中 提示 getBlockSize 过时,需要使用getBlockSizeLong()下面的方法类似
35         // 但是如果在低版本的系统中 使用 getBlockSizeLong() 可能会出现编译错误
36         long blockSize = stat.getBlockSize();
37         // 获得总共有多少个扇区
38         long totalBlocks = stat.getBlockCount();
39         // 获得 可用扇区
40         long avaiableBlocks = stat.getAvailableBlocks();
41
42         //总空间
43
44         String totalMemory = Formatter.formatFileSize(this, blockSize * totalBlocks);
45
46         // 可用空间
47
48         String avaiableMemory = Formatter.formatFileSize(this, totalBlocks*avaiableBlocks);
49
50         return "总空间:"+totalMemory+"\n"+"可用空间:"+avaiableMemory;
51     }
52
53 }

获得手机内容空间大小

时间: 2024-12-07 14:02:52

获得手机内容空间大小的相关文章

iOS获取文件夹中存储空间的大小、手机剩余空间大小、手机总空间大小 工具

// // DiskSpaceTool.h // ScreenRecordMaster // // Created by feimo on 15/7/24. // Copyright (c) 2015年 feimo. All rights reserved. // #import <Foundation/Foundation.h> #include <sys/param.h> #include <sys/mount.h> @interface DiskSpaceTool

Android中StatFs获取系统/sdcard存储(剩余空间)大小

package com.orgcent.util; import java.io.File; import android.os.Environment; import android.os.StatFs; public class MemoryStatus { static final int ERROR = -1; /** * 外部存储是否可用 * @return */ static public boolean externalMemoryAvailable() { return andr

Linux下的C++程序:统计一个目录及其内部文件总共占据的空间大小

统计一个目录的大小(比特数),最简单的办法是在控制台输入命令: du -sb 目录地址 用C++实现这个功能,是通过递归遍历目录下的文件和子目录达到的.需要注意的是,因为Byte数过大,单用一个整型统计Byte的数量,遇到大一些的目录会出现溢出.因此我采用了TB.GB.MB.KB和Byte五个层级来表示目录的大小. 我的代码如下: #include <stdio.h> #include <sys/stat.h> #include <sys/types.h> #inclu

Linux 磁盘空间大小统计du命令常见用法

在 Linux下,可以对某个文件或文件夹所占空间大小进行统计,这里将一些常用用法汇总如下: 1.对指定文件或文件夹进行统计,缺省单位为kbyte(k或千字节),下例对文件夹testa进行统计: [[email protected] ~]$ du -s testa 1589308    testa 2.对文件夹统计的正确做法,如果想知道某个文件夹所占空间的大小,用什么命令?直接用du可以吗? 可以是可以,但是,它会将该文件夹底下所有目录都统计一遍,显然,这不是我们想要的.正确的做法是使用 -s操作

如何收缩表空间大小

转摘: oracle数据库表空间文件收缩实例 1.查看数据文件的使用情况 包括内容:数据文件大小,已经used空间,free空间,hwm信息 1 select /*+ ordered use_hash(a,b,c) */ 2 a.file_id,a.file_name,a.filesize, b.freesize, 3 (a.filesize-b.freesize) usedsize, 4 c.hwmsize, 5 c.hwmsize - (a.filesize-b.freesize) unse

docker高级应用之动态扩展容器空间大小

docker容器默认的空间是10G,如果想指定默认容器的大小(在启动容器的时候指定),可以在docker配置文件里通过dm.basesize参数指定,比如 docker -d --storage-opt dm.basesize=20G 是指定默认的大小为20G,具体参数可以参考https://github.com/docker/docker/tree/master/daemon/graphdriver/devmapper 上面方法只是真的生成容器的时候进行的,并且修改后需要重启docker,无法

获取手机剩余空间工具类

1 import java.io.File; 2 3 import com.iss.utils.LogUtil; 4 5 import android.os.Environment; 6 import android.os.StatFs; 7 8 /** 9 * 类名 10 * @author 王洪贺<br/> 11 * 获取手机剩余的存储空间工具类 12 * 创建日期 2014年8月1日 13 */ 14 15 public class StorageUtil { 16 17 /** 18

解决因为手机设置字体大小导致h5页面在webview中变形的BUG

首先,我们做了一个H5页面,在各种手机浏览器中打开都没问题.我们采用了rem单位进行布局,通过JS来动态计算网页的视窗宽度,动态设置html的font-size,一切都比较完美. 这时候,你自信满满的将h5地址交给了APP工程师,做了一个WEBVIEW嵌套,然后就顺利交工了. 测试组在一堆手机中测试APP,突然,在某个手机上打开,你的页面布局了乱了,字变大或者变小,总之很奇葩. 你怀疑是APP的问题,但是客户端死活不承认.你在该手机浏览器中查看,确保没有一毛钱问题,也死活不承认是你的问题.于是测

C++中类的内存空间大小(sizeof)分析

首先明确各数据类型占多大的空间.例如int到底是占2字节还是4字节空间: 在TC里,int是2字节的(主要是因为TC是16位的,所以int类型也该是16位的)VC++里,int是4字节的,因为现代操作系统下的软件大多是是32位.64位的VC++,本来按理说,该是8字节的,但是可能为了维持32位的源代码移植到64位尽量不出错,所以也维持了4字节的长度.至于其他有名的编译器,如gcc,我还没用过,你得查一查它所规定int的长度 或者利用sizeof(int)也可以计算出来.本人电脑上计算如下: 在C