随着android的学习我们通过Context的openFileInput或是openFileOutput来打开文件的输入输出流时,程序锁打开的都是应用程序的数据文件夹里面的文件,这样所存储的文件的大小可能比较有限——毕竟手机内置的存储空间是有限的。

  为了更好的存取应用程序的大文件数据,应用程序需要读写SD卡上的文件。通过SD卡,大大的扩充了手机的存储能力。所以咱们就先来学习如何读写sd卡上的文件。

 读、写SD卡上的文件通常有以下几个步骤:

   (1)调用Environment的getExternalStorageState()方法判断手机或是模拟器上是否安装了SD卡,并且应用程序具有读写的SD卡的权限。

    

Android怎么向SD卡写入数据 安卓sd卡怎么使用_android

    (2)调用Environment的getExternalStorageDirectory()方法来获取外部存储器,也就是SD卡目录。

    (3)使用FileInputStrean、FileOutputStrean、FileReader、FileWriter读写SD卡里的文件。

 两点注意事项:

  a 确定手机或是模拟器上有sd卡。(没有新建可以参考lz的另一篇文章)

  b 为了读写SD卡上的数据必须在程序清单AndroidManifest.xml中添加 读写权限。

 

   

Android怎么向SD卡写入数据 安卓sd卡怎么使用_文件读取_02

lz写的时候只是在页面用了两个文本框。两个按钮,在此就不附上原代码了。

下面的是读写SD卡上文件的精华了,希望度大家有帮助。

  楼主是先给两个按钮设置了监听事件,在监听事件里面调用自己写的read() 和write()方法,从而实现SD卡的读写操作。

Android怎么向SD卡写入数据 安卓sd卡怎么使用_android_03

这个read()和write()方法是读写SD卡文件的关键,大家可以自己保留下来日后开发时候可以直接拿过来用。

Android怎么向SD卡写入数据 安卓sd卡怎么使用_android_04

Android怎么向SD卡写入数据 安卓sd卡怎么使用_Android怎么向SD卡写入数据_05

 

关键方法:

  Environment.getExternalStorageDirectory() 在确定应用程序有读写SD卡的权限后调用此方法获取SD卡对应的存储目录。

 

(如果大家不喜欢使用Environment的方法来获取SD卡文件路径可以使用相对路径来代表SD卡的路径,然后程序通过半段路径是否存在就知道手机或模拟器是否存在SD卡了)

 

lz希望大家多多交流,共同进步。希望本章对你有用。