Android中有关文件存储的函数

一、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/




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值