一、Context中关于内部存储的重要函数
public abstract File getCacheDir ()
该目录主要用于存放缓存文件,当系统的内存存储空间紧张时,该目录下的文件会被删除掉。关于这些文件
究竟会在存储空间剩余多少的情况,没有严格的标准保障.
备注:
你不应该依赖系统来清理这些缓存文件,你应该对这些缓存文件占用的最大存储空间设定个最大值,比如是10M,
当实际占用空间超过这个值时,你应该对这些缓存文件做相应的清理工作.
String path = context.getCacheDir().getAbsolutePath();
path:/data/data/your_package_name/cache
public abstract File getDir (String name, int mode)
该函数主要用于得到一个文件夹的句柄,并通过该句柄创建和访问外文件夹
备注:
参数int mode是指文件夹的访问权限而并不包括其子文件夹和文件的访问权限
File file = context.getDir("downLoad",Context.MODE_PRIVATE);
String path = file.getAbsolutePath();
path:/data/data/your_package_name/app_downLoad
public abstract File getFileStreamPath (String name)
参数:String name文件名
返回值:
返回绝对路径的文件
File file = context.getFileStreamPath("downLoad");
String path = file.getAbsolutePath();
path:/data/data/your_package_name/files/downLoad
public abstract File getFilesDir ()
返回值返回持有应用程序文件的目录
File dir = context.getFilesDir();
String path = dir.getAbsolutePath();
path:/data/data/your_package_name/files
public abstract FileInputStreamOpenFileInput(String name)
参数:String name要打开的文件名,不能带有 / 分隔符
FileInputStream in = OpenFileInput("file");
path: /data/data/<package_name>/files
public abstract FileOutputStream openFileOutput (String name, int mode)
参数:
String name 要打开的文件名
int mode 操作模式,默认操作模式MODE_PRIVATE或者使用0 ,MODE_APPEND将内容以追加的方式写到以存在的文件中,
MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE添加访问权限
FileOutputStreamfos =OpenFileOutput("file",Context.MODE_APPEND|Context.MODE_WORLD_READABLE);
fos.write(" writeContent".getBytes());fos.close();
path: /data/data/<package_name>/files
public abstract boolean deleteFile (String name)
Delete the given private file associated with this Context's application package.
参数:
String name 要删除的文件名,不能带有分隔符
public abstract String[] fileList ()
Returns an array of strings naming the private files associated with this Context's application package.
public static File getDataDirectory ()
用File返回数据文件的根目录,返回的文件的路径为“/data”。该目录下的文件是只读。应用程序无法对该目录下的文件进行写操作。
public static File getDownloadCacheDirectory ()
用File返回缓存文件的根目录,返回的文件的路径为“/cache ”。对于第三方应用程序。该目录下的文件是只读。第三方应用程序无法对该目录下的文件进行写操作。
public static File getRootDirectory ()
用File返回Android系统文件的根目录,返回的文件的路径为“/system”。该目录下的文件是只读。应用程序无法对该目录下的文件进行写操作。
getExternalCacheDir()
File c acheDir = context.getExternalCaheD ir();String path = cacheDir.getAbsolutePath();
path:<sdcard>/Android/data/<package_name>/cache/