本文共 1753 字,大约阅读时间需要 5 分钟。
android下应用程序的路径和javase不同,应用程序的数据要保存自己的文件夹里面> > getFileDir(); 获取自己的文件夹 /data/data/包名(应用程序的名字)/files> getCacheDir(); /data/data/包名(应用程序的名字)/cache谷歌给我们提供了两种应用程序的目录,files目录存放重要的应用程序数据.手机不会自动清理files目录的文件,比如配置信息,软件的清除数据就是清除这里。cache目录是存放临时的不重要的数据.这个目录有特定,当手机内存空间不足的时候会自动清理cache目录的文件,软件清除缓存就是清除这里。##手机存储空间的划分* 手机内部存储(files和cache,比较小一般2G4G,小米手机内存有16G是包括了外部存储的SD卡的,) Environment.getDataDirectory()> file目录 cache目录> 容量有限,较小,价格比较贵,存储访问速度快> 创建的文件在手机内部存储空间,**默认**的权限全部都是私有的.> 只有自己的应用程序可以访问,> 别的应用程序不可以访问.> 为什么不需要声明权限?* 手机外部存储 Environment.getExternalStorageDirectory()> sd卡> 容量大,可以更换,价格便宜,32G 不到200块> 读写声明权限
package com.itheima.storagesize;import java.io.File;import android.app.Activity;import android.os.Bundle;import android.os.Environment;import android.text.format.Formatter;import android.widget.TextView;public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); File dataFile = Environment.getDataDirectory(); // 数据内部存储空间 File sdFile = Environment.getExternalStorageDirectory();// 外部存储空间 long datasize = dataFile.getTotalSpace(); long sdsize = sdFile.getTotalSpace();//单位是byte TextView tv = (TextView) findViewById(R.id.tv); tv.setText("内部存储:" + Formatter.formatFileSize(this, datasize) + "\n" + "外部sd卡:" + Formatter.formatFileSize(this, sdsize)); // 三星 小米 魅族 // 有的厂商的sd卡目录:/mnt/sdcard // 有的厂商的sd卡目录:/mnt/storage01 // 有的厂商的sd卡目录:/mnt/stoarge02 // 有的厂商的sd卡目录:/mnt/mount/stoarge01 }}
本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/4916041.html,如需转载请自行联系原作者