Android基础之文件操作

一,android几种文件获取:
1,应用所有的file,其他进程不能直接访问,应用卸载时会删除.
存在路径:data/data/com.android.phone/files/xxx
API: 
     Context.openFileInput(String name) //return FileInputStream 
     Context.openFileOutput(Sring name) //return FileOutPutStream
     Context.getFilesDir(); //return "data/data/com.android.phone/files/"
     Context.fileList();//列出data/data/com.android.phone/files/下的所有文件
     Context.deleteFile(String name)://删除data/data/com.android.phone/files/下的name文件


2,Assets中的文件数据.
在asset目录下的资源是无法直接访问的原生资源,但是这个目录保存的文件可以打包在程序里,Android应用通过Assetmanager来管理该目录下的原始资源.
Android不为Assets下的文件生成id,如要使用assets里的文件,需要指定文件的路径和文件名。
存在路径: 应用资源包下的Assets目录
API:  InputStream is=getResources().getAssets().open("info.txt");


3,res/raw/目录目录中的文件数据
如果你想要将静态文件保存在您的应用程序在编译时,将文件保存在您的项目res/raw/目录。Android SDK会处理该目录下原始资源,并会在R清单类中为该目录下的资源生成一个索引项。
你可以打开它与openRawResource(),通过R.raw.<filename>的资源 id。此方法返回的InputStream,您可以使用读取该文件 (但你不能写入原始文件)。
API: InputStream is=getResources().openRawResource(R.raw.info);


4,读写外部存储的文件数据
这可以是一个可移动存储媒体 (如 SD 卡) 或内部的 (非可移动) 存储。保存
到外部存储的文件是可读的世界,所有应用都可读写,可以由用户修改。
API: 
    Environment.getExternalStorageState()//return Environment.MEDIA_MOUNTED
    Environment.getExternalStorageDirectory()//return "/sdcard"

Need Permission:
    <!-- 在SD卡中创建与删除文件权限 -->
    <uses-permission        android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
    <!-- 向SD卡写入数据权限 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值