通过Context的openFileInput或者openFileOutput打开的文件输入输出流是操作应用程序的数据文件夹里的文件,这样存储的大小比较有限,为了更好的存取应用程序的大文件数据,应用程序需要读写SD卡。
读写SD卡上的文件步骤:
1、调用Environment的getExternalStorageState()可以判断手机上是否插入了SD卡
// 判断手机上是否插入了SD卡 Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
2、通过Environment获取外部存储器也就是SD卡的目录
// 获取SD卡的目录 File dir = Environment.getExternalStorageDirectory();
3、使用FileInputStream、FileOutputStream、FileReader或FileWriter读写SD卡里的数据。
读写SD卡文件的注意事项:为了读写SD上的文件,必须在清单文件(AndroidManifest.xml)中添加读写SD卡的权限。
<!-- 创建于删除文件的权限 --> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <!-- 向SD卡写入数据的权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>