转自http://www.cnblogs.com/wangjianhui/archive/2011/06/10/2077180.html


这几天做一个功能需要在手机上创建一个文件夹,然后往里面存储一些文件,首先得考虑用户有没有sdcard,如果有就在sdcard上创建一个指定的文件夹,如果没有则在你的工程所在的目录“/data/data/你的包名”下创建文件夹。用到的方法是:


首先判断sdcard是否插入

String status = Environment.getExternalStorageState();
  if (status.equals(Environment.MEDIA_MOUNTED)) {
   return true;
  } else {
   return false;
  }


然后根据是否插入状态指定目录


if (SdcardHelper.isHasSdcard()) {
   sDir = SDCARD_DIR;
  } else {
   sDir = NOSDCARD_DIR;
  }


然后是创建文件夹


  File destDir = new File(sDir);
  if (!destDir.exists()) {
   destDir.mkdirs();
  }


问题是:刚开始我的文件夹的目录是按照windows方式的例如"\sdcard\tempdir"结果运行后也不报错但是怎么也创建不了文件夹,后面想到应该是按linux格式的目录,改为"/sdcard/tempdir"后即可成功创建。
因为之前创建文件都是按照windows方式例如"\sdcard\test.txt"调用
new File("\\sdcard\\test.txt").createNewFile();创建而且可以成功,所以目录就没考虑。
经验证创建文件夹使用windows或者linux的目录结构都可以,而目录的话必须用linux的格式。

注:如果是1.6版本的话,需要注册sdcard权限才能正常建立文件夹及写入文件. 2.2以上不需要


 

 


更多相关文章

  1. android 5.1.1开机优化(framework层)
  2. Android对文件的操作(简单的文件读取与写入)
  3. 内核直接NFS挂载Android文件系统启动
  4. (原创)Android入门教程(三十六)------实现手机联系人的全选
  5. Android图片浏览器之缩略图
  6. Android扩展:一个自动findViewById的小工具
  7. Android中gradle的配置
  8. Android(安卓)Studio 第五十五期 - Studio3.0升级到gradle3.0.0
  9. android Bitmap如何保存成为一个bmp文件

随机推荐

  1. Android:布局(线性布局LinearLayout)
  2. Android ActionBar的源代码分析(一)
  3. 学习笔记| (二)IPC机制
  4. android --多线程下载
  5. android中SurfaceView SurfaceHolder Sur
  6. 安卓ListView去除分割线、设置边距
  7. Android(安卓)Sqlite使用中注意事项
  8. 【转】禁止android横屏和竖屏的切换
  9. Android团队如何进行情感设计
  10. Android 1.0将不支持开发蓝牙和Gtalk应用