现在的Android在SD卡上的文件需要用到专门的方法来读取。之前提到的FileInputStream不好用,我们下面会提到,所以写了两个方法来实现在SD卡上存取数据。

首先你需要在AndoridMainfest.xml中添加权限

SD卡中的创建和删除文件权限"android.permission.MOUNT_ONMOUNT_FILESYSTEMS">向SD卡中写去数据的权限"android.permission.WRITE_EXTERNAL_STORAGE">

Look!

pubilc String read(String content) {    try {        //这个判断语句使我们常用的:判断手机是否插入了SD卡和是否有访问权限,如果都有就返回true        if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {                //后面的这个方法是返回SD卡中的目录                File sdCardDir = Envrionment.getExternalStorageDirectory();                //获取指定文件的输入流                FileInputStream fis = new FileInputStream(sdCarDir.getCanonicalPath() + "这里写你要读取的文件名");                //将指定输入流包装成BufferedReader                BufferedReader br = new BufferedReader(new InputStreamReader(fis));                StringBuilder sb = new StringBuilder("");                String line = null;                //循环读取文件内容                while ((line = br.readline()) != null) {                    sb.append(line);                }                br.close();                return sb.toString();        }    } catch (Exception e) {        e.printStrackTrace();    }}

上面是读的方法,下面就是写的方法。

public void write(String content) {    try {        if (Environment.getExternalStorageState().equals(Enviroment.MEDIA_MOUNTED)) {            //获取SD卡目录            File sdCardDir = Environment.getExternalStorageDirectory();                File targetFile = new File(sdCardDir.getCanonicalPath() + "你要写入的文件名");                //以指定文件创建RandomAccessFile对象                RandomAccessFile raf = mew RandomAccessFile(targetFile, "rw");                //记住,输入的时候位置是要用到指针的                raf.seek(targetFile.length());                //输出文件内容                raf.write(content.getBytes());                //关闭RandomAccessFile                raf.close();        }     } catch (Exception e) {        e.printStackTrace();    }}

在写入SD卡的时候有几点要说明一下:

  • 用RandomAccessFile方法的时候必须要指定位置,会报错或者是从头输入
  • 如果你用了FileOutputStream输入数据,它会把文件中的所有内容都清空,别问我为什么知道!@#!#%&&(@#(*)1@#$15…..

更多相关文章

  1. VS2015 Android(安卓)SDK 下载和更新失败的解决方法
  2. Android标题栏进度指示器使用方法
  3. Android(安卓)studio中build.gradle文件简单介绍
  4. 使用Zipalign工具优化Android(安卓)APK应用记录
  5. Android中使用ant混淆编译
  6. android phonegap插件开发方法 plugin
  7. Android动态加载之ClassLoader —热修复、插件化
  8. android之ContentProvider和Uri详解
  9. Android最大方法数和解决方案

随机推荐

  1. visual studio2019 Android SDK API28出
  2. Android PDF开发:android-pdfview
  3. android模拟sd卡的问题
  4. AIDL跨进程通讯
  5. Android 抢购类倒计时实现 (包括天数,小时,
  6. Android 开发环境下载连接
  7. Android多平台推送
  8. 3.系统运行库
  9. Android系统源码数据库(mmssms.db)(转)
  10. Android中文API(97)―― ContextMenu