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; }
6. 访问的权限: 需在AndroidManifest中加上: <uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>