Android基础之文件操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cornerOfHeart/article/details/82798184

一,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"/>

猜你喜欢

转载自blog.csdn.net/cornerOfHeart/article/details/82798184