欢迎来到天天文库
浏览记录
ID:6042152
大小:231.92 KB
页数:13页
时间:2017-12-31
《操作sdcard读取写入文件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、在Android中读写文件可以采用两种方式:一种是采用JDK提供的FileInputStream、FileOutputStream这些类来操作,另一种是采用Android的Context类自带的一些方法操作,如FileOutputStreamopenFileOutput(Stringname,intmode)方法用于写文件,FileInputStreamopenFileInput(Stringname)方法用于读文件。mode有四种模式,分别为:Context.MODE_PRIVATE=0Context.MODE_AP
2、PEND=32768Context.MODE_WORLD_READABLE=1Context.MODE_WORLD_WRITEABLE=2Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。可以使用Context.MODE_APPENDContext.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。Context.MODE_WORLD_READABLE和C
3、ontext.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。MODE_WORLD_READABLE:表示当前文件可以被其他应用读取;MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。如果希望文件被其他应用读和写,可以传入:openFileOutput("test.txt",Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE);SDcard的读写访问一般手机的存储空间不是很大,存放些小文件还行,如果要存放
4、像视频这样的大文件,是不可行的。对于像视频这样的大文件,我们可以把它存放在SDCard。SDCard是干什么的?你可以把它看作是移动硬盘或U盘。在模拟器中使用SDCard,你需要先创建一张SDCard卡(当然不是真的SDCard,只是镜像文件)。创建SDCard可以在Eclipse创建模拟器时随同创建,也可以使用DOS命令进行创建,如下:在Dos窗口中进入androidSDK安装路径的tools目录,输入以下命令创建一张容量为2G的SDCard,文件后缀可以随便取,建议使用.img:mksdcard2048MD:An
5、droidToolsdcard.img在程序中访问SDCard,你需要申请访问SDCard的权限。在AndroidManifest.xml中加入访问SDCard的权限如下:6、_EXTERNAL_STORAGE"/>要往SDCard存放文件,程序必须先判断手机是否装有SDCard,并且可以进行读写。注意:访问SDCard必须在AndroidManifest.xml中加入访问SDCard的权if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){FilesdCardDir=Environment.getExternalStorageDirectory();//获取SDCard目录FilesaveFi7、le=newFile(sdCardDir,“happy.txt”);FileOutputStreamoutStream=newFileOutputStream(saveFile);outStream.write("Happy".getBytes());outStream.close();}Environment.getExternalStorageState()方法用于获取SDCard的状态,如果手机装有SDCard,并且可以进行读写,那么方法返回的状态等于Environment.MEDIA_MOUNTED。Envir8、onment.getExternalStorageDirectory()方法用于获取SDCard的目录,当然要获取SDCard的目录,你也可以这样写:FilesdCardDir=newFile("/mnt/sdcard");//获取SDCard目录FilesaveFile=newFile(sdCardDir,"happy.txt"
6、_EXTERNAL_STORAGE"/>要往SDCard存放文件,程序必须先判断手机是否装有SDCard,并且可以进行读写。注意:访问SDCard必须在AndroidManifest.xml中加入访问SDCard的权if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){FilesdCardDir=Environment.getExternalStorageDirectory();//获取SDCard目录FilesaveFi
7、le=newFile(sdCardDir,“happy.txt”);FileOutputStreamoutStream=newFileOutputStream(saveFile);outStream.write("Happy".getBytes());outStream.close();}Environment.getExternalStorageState()方法用于获取SDCard的状态,如果手机装有SDCard,并且可以进行读写,那么方法返回的状态等于Environment.MEDIA_MOUNTED。Envir
8、onment.getExternalStorageDirectory()方法用于获取SDCard的目录,当然要获取SDCard的目录,你也可以这样写:FilesdCardDir=newFile("/mnt/sdcard");//获取SDCard目录FilesaveFile=newFile(sdCardDir,"happy.txt"
此文档下载收益归作者所有