首先内部存储路径为/data/data/appPackageName/,所有内部存储中保存的文件在用户卸载应用的时候会被删除。
基于应用的内部存储路径常用知识:
一、 files
1. Context.getFilesDir(),该方法返回/data/data/appPackageName/files的File对象。
2. Context.openFileInput()与Context.openFileOutput(),只能读取和写入files下的文件,返回的是FileInputStream和FileOutputStream对象。
3. Context.fileList(),返回files下所有的文件名,返回的是String[]对象。
4. Context.deleteFile(String),删除files下指定名称的文件。
二、cache
1. Context.getCacheDir(),该方法返回/data/data/appPackageName/cache的File对象。
三、custom dir
getDir(String name, int mode),返回/data/data/appPackageName/下的指定名称的文件夹File对象,如果该文件夹不存在则用指定名称创建一个新的文件夹。
四、可用内部存储
File path = Environment.getDataDirectory();
StatFs stat =
new
StatFs(path.getPath());
//文件系统的块的大小(byte)
long
blockSize1 = stat.getBlockSize();
//文件系统的总的块数
long
totalBlocks1 = stat.getBlockCount();
//文件系统上空闲的可用于程序的存储块数
long
availableBlocks1 = stat.getAvailableBlocks();
//总的容量
long
totalSize1 = blockSize1*totalBlocks1;
long
availableSize1 = blockSize1*availableBlocks1;
String totalStr1 = Formatter.formatFileSize(
this
, totalSize1);
String availableStr1 = Formatter.formatFileSize(
this
, availableSize1);
internalTv.setText(
"内部存储的大小"
+
"\n"
+
"总大小:"
+totalStr1+
"\n"
+
"可用大小:"
+availableStr1);