在java中提供了一套完整的I/O流体系,通过这些I/O流可以很方便的访问磁盘上的文件内容。在Android也同样支持这种方式来访问手机存储器上的文件。

在Android中主要提供了两种方式用于访问手机存储器上的文件:

    1、内部存储:使用FileOutputStream类提供的openFileOutput()方法和FileInputStream类提供的openFileInput()方法访问设备内部存储器上的文件。

    2、外部存储:使用Environment类的getExternalStorageDirectory()方法对外部存储上的文件进行数据读写。

android开发读取外部文件 安卓读取外部文件_android-studio

下面我们来说一下文件存储的外部存储

每个Android设备都支持共享的外部存储用来保存文件。保存在外部存储的文件都是全局可读的,而且在用户使用USB连接电脑后,可以修改这些文件。在Android程序中对外部存储的文件进行操作时,需要使用Environment类的getExternalStorageDirectory()方法,该方法用来获取外部存储器的目录。

注:须在清单文件中添加读、写外部存储器的权限:

android开发读取外部文件 安卓读取外部文件_Text_02

 

下面通过一个案例来进行直观的说明:

该案例是模拟一个备忘录,在EditText输入内容,把输入的内容通过外部存储存入文件,下次进入应用时将获取存储的内容显示在EditText。

android开发读取外部文件 安卓读取外部文件_android_03

(1)、首先,获取外部存储地址,在外部存储根目录上创建文件

android开发读取外部文件 安卓读取外部文件_android开发读取外部文件_04

 

(2)、在onCreate()方法中判断用户是否开启应用写入权限,如果未开启则申请开启 。并在此获取存储的内容,方法inputStream()在文章下面。(打开应用时,在EditText上将显示上次保存的内容)

android开发读取外部文件 安卓读取外部文件_外部存储_05

android开发读取外部文件 安卓读取外部文件_android_06

 

(3)、按钮点击事件,点击取消将退出应用,点击保存将保存EditText上的内容 

android开发读取外部文件 安卓读取外部文件_android开发读取外部文件_07

 

①点击保存按钮调用的outputStream()方法,获得文件输出流,并指定文件保存的位置

android开发读取外部文件 安卓读取外部文件_外部存储_08

android开发读取外部文件 安卓读取外部文件_Text_09

 

②onCreate()方法中调用的 inputStream()方法,打开应用时显示上次存储的内容

android开发读取外部文件 安卓读取外部文件_外部存储_10

 

android开发读取外部文件 安卓读取外部文件_Text_11

注:权限不要忘记呀,在清单文件中写入权限

 

android开发读取外部文件 安卓读取外部文件_Text_12