Android SD卡上文件

1. 得到存储设备的目录:/SDCARD(一般情况下)

SDPATH=Environment.getExternalStorageDirectory()+"/";

2. 判断SD卡上的文件夹是否存在:通过File对象的exists()方法。

  /**
   * 判断文件是否已经存在;
   *
  /
  public boolean checkFileExists(String filepath) {
         File file=new File(SDPATH+filepath);
         return file.exists();
    }

3.在SD卡上创建目录:通过File对象的mkdir()方法实现。

 /*
   * 在SD卡上创建目录;
   */
  public File createDIR(String dirpath) {
    File dir=new File(SDPATH+dirpath);
    dir.mkdir();
    return dir;
}

4.在SD卡上创建文件:通过File对象的createNewFile()方法实现。

  /*
   * 在SD卡上创建文件;
   */
     public File createFile(String filepath) throws IOException{
      File file=new File(SDPATH+filepath);
           file.createNewFile();
           return file;
     }

5.将InputStream字节流写入到SD卡文件中

  /**
      * 将一个InputStream中的数据写入至SD卡中
      */
   public File writeStreamToSDCard(String dirpath,String filename,InputStream input) {
             File file = null;
             OutputStream output=null;
              try {
                  //创建目录;
                  createDIR(dirpath);
                  //在创建 的目录上创建文件;
                  file = createFile(dirpath+filename);
                  output=new FileOutputStream(file);
                  byte[]bt=new byte[4*1024];
                  while (input.read(bt)!=-1) {
                     output.write(bt);
                  }
                //刷新缓存,
                  output.flush();
              } catch (IOException e) {
                  e.printStackTrace();
              }
              finally{

                  try{
              output.close();
                  }
          catch (Exception e) {
                     e.printStackTrace();
                  }
              }

             return file;

    }
时间: 2024-11-10 14:01:38

Android SD卡上文件的相关文章

android 操作SD卡上的文件

(1)说明:操作SD卡上的文件需要加入以下权限 在SD卡上创建和删除文件权限 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> 在SD卡上写入数据的权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 在sd卡上的文件操作和我上一篇文

Android使用sqlliteOpenhelper更改数据库的存储路径放到SD卡上

假设使用默认的系统管理,默认放在包以下.比較省心.并且在卸载app后不会造成数据残留.可是这样也有一个问题.比方我做一个背单词的软件,那么当用户卸载掉这个app时,他辛辛苦苦下载的单词库也没了... 所以我想到的解决方式.就是把数据库路径改下.不放到包以下,放到SD卡上. 细致看看.还真不easy做,网上有人甚至去更改源代码.只是最后还是找到了解决方式: 查看SQLiteOpenHelper源代码.会发现有这样一段代码: if (mName == null) { db = SQLiteDatab

在SD卡上创建/删除文件夹 使用DDMS透视图管理SD卡

在SD卡上创建和删除文件夹 基本步骤: (1):在控制台中输入adb shell命令,进入shell控制台. (2):在shell控制台中输入cd sdcard 命令,进入SD卡中. (3):在shell控制台中输入ls -al 命令,查看sd卡中包含的全部文件和文件夹. (4):在shell控制台中输入mkdir mrsoft 命令,创建一个名为mrsoft的文件夹. (5):在shell控制台中输入ls -al命令,查看SD卡中包含的全部文件和文件夹.可以看到文件夹mrsoft已经创建. (

SD卡上读写文件

读写SD卡上的文件: 如果存储大型文件,例如视频.音乐.文档等.存储到手机内存中是不明智的,一般我们会把这些大型文件存储在SD卡中. 首先如果要在程序中使用sdcard进行存储,我们必须要在AndroidManifset.xml文件进行下面的权限设置: 在AndroidManifest.xml中加入访问SDCard的权限如下: <!-- 在SDCard中创建与删除文件权限 --> <uses-permission android:name="android.permission

Android_(控件)使用ListView显示Android系统中SD卡的文件列表_02

使用ListView显示Android SD卡中的文件列表 父类布局activity_main.xml,子类布局item_filelayout(一个文件的单独存放) 运行截图: 程序结构 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="

SD卡添加文件,添加不进去,报 Read-only file system错误

android 模拟器手机如何添加文件到sd卡? 在DDMS中直接添加文件到模拟器sd卡如果出现错误类似:Failed to push XXXXX.txt on emulator- : Read-only file system的错误,原因是你的sdcard权限不够,需要直接创建一个SDCARD . 一.首先创建SDCARD  我创建的sdcard名为:sdcard.img(名字随便取,以img后缀名结束) 进入DOS  指向  目录 E:\android-sdk_r10-windows\and

制作SD卡img文件,并扩容

/**************************************************************************************** * 制作SD卡img文件,并扩容 * 说明: * 主要是为了简便以后的系统烧录操作,通过制作SD卡烧录img文件,可以完成将系统dd到任何 * SD卡上,加上resize2fs这个命令对SD最后一个分区进行扩容,该功能是从树莓派上借鉴过来的. * * 2017-2-26 深圳 南山平山村 曾剑锋 ***********

安卓 SD卡写入文件后不能立即显示被写入的文件解决方法

每次通过输出流往SD卡写入文件,连接上电脑,用MTP的方式模拟一个移动磁盘,打开磁盘却没有这样一个文件,而通过adb的方式查看就有,造成这个现象的原因是,每次写入之后,MTP的数据库并没有更新,因为更新一次MTP数据库需要的带价比较大,所以只有在重启,挂载和用户手动发送Intent出发,故存入文件后需要手动发送Intent广播,出发一下MTP数据库的更新. /** * 出发扫描 mtp下的文件,在保存文件到 sd卡下后,不能显示,故这里触发一下扫描机制,让手机连上电脑后,就可以读出文件了 * @

使用File Explorer向SD卡Push文件抛出:Failed to push selection: Read-only file sys

使用File Explorer向SD卡(/mnt/sdcard/)写入数据时发生异常,Failed to push selection: Read-only file sys. 原因有2点 1:没有申请权限. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission