Android复习笔记(7)-数据存储之文件存储

Android中的文件存储,不会对文件进行任何的格式化操作,所有数据都是原封不动的保存到文件中,因而比较适合存储一些简单的文本数据或二进制数据。
(1)数据存储到文件中。
往文件存数据主要是使用context的openFileOutput()方法,这个方法接收两个参数,第一个参数是文件名,在文件创建的时候使用的就是这个名称,这里的指定的文件名不可以包含路径,因为所有的文件都是默认存储到/data/data/包名/files/目录下;第二个参数是文件的操作模式,主要有两种模式可选,MODE_PRIVATE和MODE_APPEND,其中MODE_PRIVATE是默认的操作模式,表示当指定同样的文件名的时候,所写入的内容会覆盖原来文件的内容,而MODE_APPEND则表示如果该文件已存在,就往文件里面追加内容,不存在就创建新内容,其实文件的操作模式本来还有另外两种:MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE,这两种模式表示允许其他的应用程序对我们程序中的文件进行读写操作,不过由于这两种模式过于危险,很容易引起应用的安全性漏洞,已在4.2版本中被废弃。
使用openFileOoutput方法返回的是一个fileOutputStream对象,拿到这个对象,就可以使用java流的方式将数据写入到文件中。
在这里插入图片描述
上面就是拿到fileOutputStream对象以后,然后通过它构建出一个outputStreamWriter对象,接着再使用outputStreamWriter构建出一个bufferedWriter对象,这样就可以通过bufferedWriter来将文本内容写入文件。
(2)从文件中读取数据
和存储数据到文件类似,context类提供了openFileInput()方法,这个方法和openFileOutput方法不同的是只有一个参数,就是我们要读取的文件名,然后系统会自动从/data/data/文件名/files目录下去加载这个文件,返回的对象是一个fileeInputStream对象,然后同样通过流的方式读数据。
在这里插入图片描述
首先通过openFileInput方法获取到一个fileInputStream对象,然后借助它又构建出一个inputStreamReader对象,接着再使用inputSTreamReader构建出一个BufferedReader对象,这样我们就可以通过BUfferedReader进行一行行的读取,把文件读取出来放到stringBulder对象中,最后将读取到的内容返回就可以了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值