Android学习笔记_6_保存文件到SDCard
来源:互联网 发布:logo字体发表软件 编辑:程序博客网 时间:2024/05/23 02:01
一、加入访问sdcard的权限
Environment.getExternalStorageState()方法用于获取SDCard的状态,如果手机装有SDCard,并且可以进行读写,那么方法返回的状态等于Environment.MEDIA_MOUNTED。Environment.getExternalStorageDirectory()方法用于获取SDCard的目录,当然要获取SDCard的目录,你也可以这样写:File sdCardDir = new File("/mnt/sdcard"); //获取SDCard目录File saveFile = new File(sdCardDir, "itcast.txt"); //上面两句代码可以合成一句: File saveFile = new File("/mnt/sdcard/itcast.txt");
在Shared中,路径是不需要自己填写的。因为要保存到内存中去,所以需要自己填写路径。绝对路径是不被推荐的。在Android2.2之前,sdCard的路径都是“/sdcard”在android2.2以及之后的版本中,路径都换成了“/mnt/sdcard”。为了兼容之前的版本,在android中有着一个镜像文件,将“/sdcard”指向了"/mnt/sdcard"。
android的方法中提供了获取外储存文件的方法,就是Environment.getExternalStorageDirecttory().还有一点要注意的事,保存到sdcard中文件的时候,需要获取系统的允许,在Mainfest.xml文件中,添加文件删除和创建的允许。在</application>下增加:
<!-- 加入SDCARD的删除文件权限 --> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <!-- 加入SDCARD的写入数据权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
二、引入单元测试
<!-- 在Mainfest.xml文件中增加,导入library的使用(AndroidUnit) --> <uses-library android:name="android.test.runner" /><!-- 为savefiletosdcard这个包增添单元测试说明 --> <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.android.savefiletosdcard" > </instrumentation><!-- 然后编写测试类,需要继承AndroidTestCase类。 -->
三、编写业务层代码
/** * 保存文件到sdcard,需要使用FileOutputStream对象 * 保存到sdcard的文件,可以让每个应用访问,不受限制。 * @param filename * @param content * @throws Exception */ public void saveToSDCard(String filename,String content) throws Exception{// File file = new File(new File("/mnt/sdcard"),filename); //获取sdcard目录 File file = new File(Environment.getExternalStorageDirectory(),filename); FileOutputStream fos = new FileOutputStream(file); fos.write(content.getBytes()); fos.close(); }
//判断sdcard状态,并且允许读写 if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ saveToSDCard(nameString, contentString); }
四、编写测试代码
public class SDCardTest extends AndroidTestCase { public void testSaveToSDCard() throws Exception{ FileService fileService = new FileService(getContext()); fileService.saveToSDCard("11.txt", "abcdef"); }}
执行结果如下:
0 0
- Android学习笔记_6_保存文件到SDCard
- Android-保存文件到ROM/SDCARD
- android 文件保存!Sdcard !
- 把文件保存到 sdcard
- android保存bitmap到sdcard
- Android之怎么操作文件(读写以及保存到sdcard)
- android中把文件保存到sdcard代码实例
- 【[Android学习笔记】SDCard
- 将文件保存到sdCard中去
- Android--将数据保存到SDCard中
- Android--将数据保存到SDCard中
- android 保存和读取String到sdcard
- Android写文件到SDCard
- 学习日记-- Android写文件到SDCard的代码
- android中使用http请求下载文件,并且将文件保存到SDcard中
- 29 Android 保存文件至Sdcard卡
- 数据库保存到SDcard
- 保存数据到SDcard
- Java实现FTP上传下载功能
- javascript操作Date对象
- css块元素的 display 属性 inline-block 的应用
- javascript ActiveXObject FileSystemObject 对象,创建、复制、删除、读取文件等
- java GZIP 压缩数据
- Android学习笔记_6_保存文件到SDCard
- Android学习笔记_7_使用 sax 或者 dom 或者 pull 解析XML文件
- Android学习笔记_8_使用SharedPreferences存储数据
- Android学习笔记_9_SQLiteOpenHelper对象之数据库增删改查以及事务回滚操作
- 区间选点问题(贪心)
- Android学习笔记_10_ContentProvider内容提供者的使用
- Android学习笔记_11_ListView控件使用
- Android学习笔记_12_网络通信之从web获取资源数据到Android
- Android学习笔记_13_网络通信之多个上传文件