Android数据存储-文件存储-内部存储

所有的Android设备都有两个文件存储区域:内部存储和外部存储。内部存储都是指手机内部(这并不是说外部存储就是指的手机的外部SD卡之类的,外部存储物理上来说也有可能是在手机内部)。
内部存储中的文件只有您的应用本身可以访问,当用户卸载应用后,系统会从内部存储中移除您的应用中的所有文件。使用内部存储不需要申请权限。

使用场景

内部存储主要用来保存一些私有数据,如果你希望保存的数据只能被你自己的应用访问,那么内部存储是最佳的选择。

如何使用

保存长期数据

(保存在data/data/packagename/files)
(1)写入数据

既然要向内部存储中写入数据,那么我们需要得到指向内部存储文件的输出流,有两种方式获得:
1.调用Context对象的openFileOutput()获取写入到内部目录文件的FileOutputStream。

FileOutputStream fileOutputStream =
    context.openFileOutput("fileName",Context.MODE_PRIVATE);

2.使用File构造函数,指定内部存储的目录,通过File对象创建写入到内部目录文件的FileOutputStream。

File file = new File(context.getFilesDir(),"fileName");
FileOutputStream fileOutputStream = new FileOutputStream(file);

这两种方式都可能会抛出FileNotFoundException,如果你要写入的文件不存在就会抛出异常。
下面是一段从流中读取数据写入到内部存储文件的一段代码示例:

    /**
     * 以文件的方式将数据写入到应用内部存储,不需要申请权限;
     * 文件是私有的,一般情况下只有你自己的应用可以访问此文件(通过FileProvider也可以实现共享);
     * 当用户卸载应用时,这些文件将随应用一起被移除。
     *
     * @param context
     * @param fileName
     * @param inpu
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值