在java中提供了一套完整的I/O流体系,通过这些I/O流可以很方便的访问磁盘上的文件内容。在Android也同样支持这种方式来访问手机存储器上的文件。
在Android中主要提供了两种方式用于访问手机存储器上的文件:
1、内部存储:使用FileOutputStream类提供的openFileOutput()方法和FileInputStream类提供的openFileInput()方法访问设备内部存储器上的文件。
2、外部存储:使用Environment类的getExternalStorageDirectory()方法对外部存储上的文件进行数据读写。
下面我们来说一下文件存储的外部存储
每个Android设备都支持共享的外部存储用来保存文件。保存在外部存储的文件都是全局可读的,而且在用户使用USB连接电脑后,可以修改这些文件。在Android程序中对外部存储的文件进行操作时,需要使用Environment类的getExternalStorageDirectory()方法,该方法用来获取外部存储器的目录。
注:须在清单文件中添加读、写外部存储器的权限:
下面通过一个案例来进行直观的说明:
该案例是模拟一个备忘录,在EditText输入内容,把输入的内容通过外部存储存入文件,下次进入应用时将获取存储的内容显示在EditText。
(1)、首先,获取外部存储地址,在外部存储根目录上创建文件
(2)、在onCreate()方法中判断用户是否开启应用写入权限,如果未开启则申请开启 。并在此获取存储的内容,方法inputStream()在文章下面。(打开应用时,在EditText上将显示上次保存的内容)
(3)、按钮点击事件,点击取消将退出应用,点击保存将保存EditText上的内容
①点击保存按钮调用的outputStream()方法,获得文件输出流,并指定文件保存的位置
②onCreate()方法中调用的 inputStream()方法,打开应用时显示上次存储的内容
注:权限不要忘记呀,在清单文件中写入权限