Android内存和SD卡的数据存取
2016-07-25 13:20
495 查看
Android内存和SD卡的数据存取
内存
向内存存取数据,不需要任何权限效果图
存
private String fileName = "test.txt"; public void saveToROM(View view) { File file = new File(getFilesDir(), fileName); try { FileOutputStream fos = new FileOutputStream(file); String str = "这是我写入内存的数据"; fos.write(str.getBytes()); fos.close(); Toast.makeText(this, "保存到内存成功", Toast.LENGTH_SHORT).show(); } catch (Exception e) { e.printStackTrace(); Toast.makeText(this, "保存到内存失败", Toast.LENGTH_SHORT).show(); } }
取
private String fileName = "test.txt"; public void readFromROM(View view) { File file = new File(getFilesDir(), fileName); try { BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file))); String text = br.readLine(); br.close(); Toast.makeText(this, "读取:\n" + text, Toast.LENGTH_SHORT).show(); } catch (Exception e) { e.printStackTrace(); } }
保存成功以后,可以在
data/data/包名/files下看到文件
SD卡
保存到SD卡和保存到内存基本一样,只不过存储路径不一样,需要SD的存取权限,另外需要注意的是有的设备可能没有SD卡。权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
存
private String fileName = "test.txt"; public void saveToSD(View view) { if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { // sd卡可用 File file = new File(Environment.getExternalStorageDirectory(), fileName); try { FileOutputStream fos = new FileOutputStream(file); String str = "这是我写入SD卡的数据"; fos.write(str.getBytes()); fos.close(); Toast.makeText(this, "保存到SD卡成功", Toast.LENGTH_SHORT).show(); } catch (Exception e) { e.printStackTrace(); Toast.makeText(this, "保存到SD卡失败", Toast.LENGTH_SHORT).show(); } } else { // 当前不可用 Toast.makeText(this, "SD卡不可用", Toast.LENGTH_SHORT).show(); } }
取
private String fileName = "test.txt"; public void readFromSD(View view) { if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { // SD卡可用 File file = new File(Environment.getExternalStorageDirectory(), fileName); try { BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file))); String text = br.readLine(); br.close(); Toast.makeText(this, "读取:\n" + text, Toast.LENGTH_SHORT).show(); } catch (Exception e) { e.printStackTrace(); } } else { // SD卡不可用 Toast.makeText(this, "SD卡不可用", Toast.LENGTH_SHORT).show(); } }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories