你的位置:首页 > 操作系统

[操作系统]Android读写SD卡


  SD卡的读写是我们在开发Android 应用程序过程中最常见的操作。下面介绍SD卡的读写操作方式:

   1. 获取SD卡的根目录

String sdCardRoot = Environment.getExternalStorageDirectory().getAbsolutePath();  // 何问起 hovertree.com

 2. 在SD卡上创建文件夹目录

/** * 在SD卡上创建目录 */ public File createDirOnSDCard(String dir) {   File dirFile = new File(sdCardRoot + File.separator + dir +File.separator);   Log.v("createDirOnSDCard", sdCardRoot + File.separator + dir +File.separator);   dirFile.mkdirs();   return dirFile; } // 何问起 hovertree.com

 3. 在SD卡上创建文件

/** * 在SD卡上创建文件 */ public File createFileOnSDCard(String fileName, String dir) throws IOException {   File file = new File(sdCardRoot + File.separator + dir + File.separator + fileName);   Log.v("createFileOnSDCard", sdCardRoot + File.separator + dir + File.separator + fileName);   file.createNewFile();   return file; } // 何问起 hovertree.com

4.判断文件是否存在于SD卡的某个目录

/** * 判断SD卡上文件是否存在 */ public boolean isFileExist(String fileName, String path) {   File file = new File(sdCardRoot + path + File.separator + fileName);   return file.exists(); } // 何问起 hovertree.com

  5.将数据写入到SD卡指定目录文件

// 何问起 hovertree.com/* 写入数据到SD卡中   */   public File writeData2SDCard(String path, String fileName, InputStream data)   {     File file = null;     OutputStream output = null;          try {       createDirOnSDCard(path); //创建目录       file = createFileOnSDCard(fileName, path); //创建文件       output = new FileOutputStream(file);       byte buffer[] = new byte[2*1024];     //每次写2K数据       int temp;       while((temp = data.read(buffer)) != -1 )       {         output.write(buffer,0,temp);       }       output.flush();            } catch (Exception e) {       e.printStackTrace();     }     finally{       try {         output.close();  //关闭数据流操作       } catch (Exception e2) {         e2.printStackTrace();       }     }          return file;   } 

   one more important thing:

      对SD卡的操作,必须要申请权限:    

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

推荐:http://www.cnblogs.com/roucheng/p/3504465.html