Android文件存储
来源:互联网 发布:gx developer编程手册 编辑:程序博客网 时间:2024/05/29 13:23
一、内部存储
1、创建文件
FileOutputStream fos = context.this.openFileOutput("test.txt", MODE_PRIVATE);—>在“/data/data/包名/files/”目录下会创建test.txt文件(如果该文件存在的话,会覆盖原有数据),
MODE_PRIVATE:默认方式,文件是应用程序私有的
MODE_WORLD_READABLE:所有应用程序都可以访问的
MODE_WORLD_WRITEABLE:所有应用程序都可以写,
MODE_APPEND:如果要创建的文件存在则新写入的数据不会覆盖以前的数据。
2、打开文件
FileInputStream fis = Context.openInputFile(String filename); //打开”/data/data/<package name>/files“目录下的文件.。
3、String[] files = Context.fileList(); //列出”/data/data/<package name>/files“目录下所有文件.
4、Context.deleteFile(string filename) //删除”/data/data/<package name>/files“目录下文件.
5、File fileDir = Context.getFilesDir(); //获取应用程序数据目录”/data/data/<package name>/files“
6、File dir = Context.getDir(dirName, Context.MODE_PRIVATE); //在“/data/data/<package name>”目录下打开或创建一个子目录,如果不存在,就创建,否则直接打开。需要传入目录名称,它返回 一个文件对象用到操作路径 。
7、File file = Context.getFileStreamPath(filename); //打开”/data/data/<package name>/files“目录下的filename文件。以File对象方式查看所创建文件,需要传入文件名,会返回文件对象 。
8、File cachedir = Context.getCacheDir(); //获取当前应用程序的数据缓存目录。把不是非常重要的数据文件保存在此处,当手机内存不足的时候,系统会自动删除App的cache目录的数据.
二、外部存储
从API Level 8开始
对于应用程序的私有文件应该放在Context.getExternalFilesDir目录下.
非私有的(shared)的文件应该放在目录下Environment.getExternalStoragePublicDirectory(String)所指定的目录下。
对于缓存文件应该放在Context.getExternalCacheDir()目录下。
另外在准备把数据保存外部存储之前应该先通过Environment.getExternalStorageState()获取其状态(Environment.MEDIA_MOUNTED挂载,Environment.MEDIA_UNMOUNTED未挂载),再根据其状态确定其是否可用,如果不可用,可以考虑将数据保存在内部存储中。
1、通过Context.getExternalFilesDir(null)方法可以获取到 /mnt/SDCard/Android/data/你的应用的包名/files/ 目录,一般放一些长时间保存的数据、
2、通过Context.getExternalCacheDir()方法可以获取到 /mnt/SDCard/Android/data/你的应用包名/cache/目录,一般存放临时缓存数据。
如果使用上面的方法,当你的应用在被用户卸载后,/mnt/SDCard/Android/data/你的应用的包名/ 这个目录下的所有文件都会被删除,不会留下垃圾信息。
而且上面二个目录分别对应 设置->应用->应用详情里面的”清除数据“与”清除缓存“选项
3、Environment.getExternalStorageDirectory()//获取外部存储根目录 /mnt/sdcard 。
注意:使用外部存储需要加<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
- Android存储-文件存储
- android存储---文件存储
- Android-文件存储-文本存储
- Android 数据存储--文件存储
- android 数据存储-文件存储
- android 文件存储
- android 文件存储
- Android之文件存储
- android 文件存储
- Android文件存储
- android文件存储
- android文件存储
- Android 文件存储解决方案
- Android中的文件存储
- Android 存储 文件
- Android文件存储
- android文件存储
- android加密存储文件
- GPS位置记录与共享,时速表,里程表与高度表
- jQuery 获取URL, 拆分URL结构
- Android横竖屏切换小结
- iOS 之self = [super init]
- hdu1732 Push Box (bfs)
- Android文件存储
- STL中的map容器的一点总结
- 使用Git hook来校验push用户名的合法性
- 【Bash】实现指定目录下的文件编码转换,以原文件名保存
- has been modified since the precompiled header的几种解决方案
- cocos2d-x 读取配置文件plist
- linux命令后台运行
- 父视图半透明,子视图不透明
- 推荐的SOA BPEL教程