• 欢迎访问奇跡の海网站,本站不上传任何资源,所有资源均来自于网络,欢迎加入奇跡の海~!奇跡の海-WordPress QQ群
  • 本站下载资源为网络上收集整理而来,并且以计算机技术研究交流为目的,版权归原作者所有,仅供大家参考,学习,不存在任何商业目的与商业用途.
  • 本站系统镜像均来自于官方原版,ed2k可视为P2P下载链接。所有操作系统默认均为试用版,如有正版密钥可以有效激活,本站不提供任何激活和相关服务。

Android 下创建文件夹和修改其权限的方法

编程开发 奇跡の海 2年前 (2017-07-27) 577次浏览 已收录 0个评论 扫描二维码

在android下创建文件夹和修改其权限的方法,需要了解的是每个应用程序包都会有一个私有的存储数据的目录(类似文件夹),只有属于该包的应用程序才能写入该目录空间,每个包应用程序的私有数据目录位 于Android绝对路径/data/data/<包名>/目录中。除了私有数据目录应用程序还拥有/sdcard目录(即SD Card的写入权限,但不可以修改sd card下文件的访问权限)。文件系统中其他系统目录,第三方应用程序是不可写入的。

代码如下两种:

1、

//创建文件夹

File destDir = new File(“/data/data/[your path]/temp”);
  if (!destDir.exists()) {
   destDir.mkdirs();
  }

//修改权限

 FileOutputStream fos;   

 fos = openFileOutput("filename" , MODE_WORLD_READABLE);  

备注:可用的mode 参数如下:

    /**
     * File creation mode: the default mode, where the created file can only
     * be accessed by the calling application (or all applications sharing the
     * same user ID).
     * @see #MODE_WORLD_READABLE
     * @see #MODE_WORLD_WRITEABLE
     */
    public static final int MODE_PRIVATE = 0x0000;
    /**
     * File creation mode: allow all other applications to have read access
     * to the created file.
     * @see #MODE_PRIVATE
     * @see #MODE_WORLD_WRITEABLE
     */
    public static final int MODE_WORLD_READABLE = 0x0001;
    /**
     * File creation mode: allow all other applications to have write access
     * to the created file.
     * @see #MODE_PRIVATE
     * @see #MODE_WORLD_READABLE
     */
    public static final int MODE_WORLD_WRITEABLE = 0x0002;
    /**
     * File creation mode: for use with {@link #openFileOutput}, if the file
     * already exists then write data to the end of the existing file
     * instead of erasing it.
     * @see #openFileOutput
     */
    public static final int MODE_APPEND = 0x8000;

2、

//创建文件夹

File destDir = new File(“/data/data/[your path]/temp”);
  if (!destDir.exists()) {
   destDir.mkdirs();
  }

Process p;
int status;
            try {
                p = Runtime.getRuntime().exec("chmod 777 " +  destDir );
                status = p.waitFor();   
                if (status == 0) {    
                    //chmod succeed   
                    Toast.makeText(this, "chmod succeed", Toast.LENGTH_LONG).show();
                } else {    
                    //chmod failed 
                    Toast.makeText(this, "chmod failed", Toast.LENGTH_LONG).show();
                }  
            }

友情提醒:

如果是在sdcard下插入,最好先判断sdcard是否插入,代码如下
//首先判断sdcard是否插入

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

参考:

http://www.devdiv.net/blog/space-28742-do-blog-id-1956.html
http://www.phpfans.net/article/htmls/201009/MzAzNjMz.html


版权声明:本站所有文章和资源使用CC BY-NC-SA 4.0协议授权发布 , 转载应当以相同方式注明文章来自“SeaOMC.COM->Android 下创建文件夹和修改其权限的方法!在下边可以分享本文哦!
喜欢 (0)
[]
分享 (0)
奇跡の海
关于作者:
一个WordPress菜鸟!
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址