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