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

1. 获取SD卡的根目录

[java] view plaincopy
  1. StringsdCardRoot=Environment.getExternalStorageDirectory().getAbsolutePath();



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

[java] view plaincopy
  1. /**
  2. *在SD卡上创建目录
  3. */
  4. publicFilecreateDirOnSDCard(Stringdir)
  5. {
  6. FiledirFile=newFile(sdCardRoot+File.separator+dir+File.separator);
  7. Log.v("createDirOnSDCard",sdCardRoot+File.separator+dir+File.separator);
  8. dirFile.mkdirs();
  9. returndirFile;
  10. }


3. 在SD卡上创建文件

[java] view plaincopy
  1. /**
  2. *在SD卡上创建文件
  3. */
  4. publicFilecreateFileOnSDCard(StringfileName,Stringdir)throwsIOException
  5. {
  6. Filefile=newFile(sdCardRoot+File.separator+dir+File.separator+fileName);
  7. Log.v("createFileOnSDCard",sdCardRoot+File.separator+dir+File.separator+fileName);
  8. file.createNewFile();
  9. returnfile;
  10. }


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

[java] view plaincopy
  1. /**
  2. *判断SD卡上文件是否存在
  3. */
  4. publicbooleanisFileExist(StringfileName,Stringpath)
  5. {
  6. Filefile=newFile(sdCardRoot+path+File.separator+fileName);
  7. returnfile.exists();
  8. }

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

[java] view plaincopy
  1. <spanstyle="white-space:pre"></span>/**
  2. *写入数据到SD卡中
  3. */
  4. publicFilewriteData2SDCard(Stringpath,StringfileName,InputStreamdata)
  5. {
  6. Filefile=null;
  7. OutputStreamoutput=null;
  8. try{
  9. createDirOnSDCard(path);//创建目录
  10. file=createFileOnSDCard(fileName,path);//创建文件
  11. output=newFileOutputStream(file);
  12. bytebuffer[]=newbyte[2*1024];//每次写2K数据
  13. inttemp;
  14. while((temp=data.read(buffer))!=-1)
  15. {
  16. output.write(buffer,0,temp);
  17. }
  18. output.flush();
  19. }catch(Exceptione){
  20. e.printStackTrace();
  21. }
  22. finally{
  23. try{
  24. output.close();//关闭数据流操作
  25. }catch(Exceptione2){
  26. e2.printStackTrace();
  27. }
  28. }
  29. returnfile;
  30. }

one more important thing:

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

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

转自:http://blog.csdn.net/newjerryj/article/details/8829179

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. 浅析Android中build.gradle的实用技巧
  6. Eclipse 点击 Run 自动生成 out 文件的错误
  7. 一步步教你实现Android(安卓)HotFix热更新
  8. Android(安卓)Studio 配置JNI快速生成头文件
  9. Android知识点总结(二十)Android中的ANR

随机推荐

  1. IOS开发学习笔记(二)
  2. Android(安卓)Timer的自动功能
  3. qiniuLive 连麦流程介绍
  4. Android之dialog的四种形式
  5. Java层Binder使用(ServiceManager)
  6. Android(安卓)Widget开发模板[转]
  7. Android(安卓)NestedScrolling嵌套滑动机
  8. Android安装服务installd源码分析
  9. android渐隐动画,通过xml控制按钮的变化。
  10. Android(安卓)studio(Windows)快捷键