Android内存和SD卡的数据存取

G1


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下看到文件

P1

P2

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();


### 最后

如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。

![](https://upload-images.jianshu.io/upload_images/15233854-42b75d6416924dbc.png?imageMogr2/auto-orient/strip%7CimageVi
![](https://img-blog.csdnimg.cn/img_convert/774585bbb61aacc0b0da103a9e66b2bd.jpeg)
ew2/2/w/259/format/webp)

> 最后针对Android程序员,我这边给大家整理了一些资料,包括不限于高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!

最后针对Android程序员,我这边给大家整理了一些资料,包括不限于高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值