【Android】数据存储之SDcard
来源:互联网 发布:力士乐plc编程软件 编辑:程序博客网 时间:2024/05/30 23:49
SD卡有时候可能因为用户将其挂载在PC上,或者设为只读,或者没有插入SD卡,所以使用SD卡存储数据之前必须检测SD卡是否可用。
1.在清单文件中加入:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
这样为我们读写SD卡提供了权限。
2.获取SD卡的状态使用:
Environment.getExternalStorageState()
所以检测是否可以写的语句为:
Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())
所以往SD卡读取文件的代码如下:
public String getFileFromSdcard(String filename) {FileInputStream fileInputStream = null;//缓冲区,和磁盘无关,不需要关闭ByteArrayOutputStream outputStream = new ByteArrayOutputStream();File file = new File(Environment.getExternalStorageDirectory(),filename);if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {try {fileInputStream = new FileInputStream(file);int len = 0;byte[] data = new byte[1024];while((len = fileInputStream.read(data))!= -1){outputStream.write(data, 0, len);}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{if (fileInputStream != null){try {fileInputStream.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}return new String(outputStream.toByteArray());}
写入文件代码如下:
public boolean saveContentToSdcard(String filename, String content) {boolean flag = false;FileOutputStream fileOutputStream = null;// 获得sdcrad所在的路径File file = new File(Environment.getExternalStorageDirectory(),filename);// 判断sdcard是否可用if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {try {fileOutputStream = new FileOutputStream(file);fileOutputStream.write(content.getBytes());flag = true;} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {if (fileOutputStream != null) {try {fileOutputStream.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}return flag;}
- 【Android】数据存储之SDcard
- Android之SDcard存储
- android数据存储(二)之使用SDCard存储
- Android--数据持久化之内部存储、Sdcard存储
- Android存储数据到sdcard
- Android存储之操作sdcard
- Android文件存储之SDcard
- Android学习笔记之数据的Sdcard存储方法及操作sdcard的工具类
- Android之sdcard保存数据
- Android数据存储——SDcard
- android 存储网络数据到Sdcard
- Android——SdCard数据存储
- android之往手机内存合sdcard卡上存储数据
- SDCard的数据存储
- 数据存储----------------SDcard
- 外部存储之SDcard
- android SDCard存储信息
- Android关于SDCard存储
- 在Linux-2.6.32.2下为ST16C554移植驱动的经历
- QQ群推广最大化营销效果分析
- HMM 自学教程(一)引言
- WP8开发学习(4):Style样式的四种使用
- Linux中Apache+Tomcat+JK实现负载均衡和群集的完整过程
- 【Android】数据存储之SDcard
- Leetcode: LRU Cache
- MySql源码安装
- Android2.3.5 vold个人总结
- 编写OpenCV程序时,需要注意的事项(持续更新)
- 双11suning易购服务器承受不了太多用户访问
- iOS core graphic使用分析
- 数据挖掘是什么
- wait和waitpid详解