在android下创建文件夹及修改其权限的方法

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

代码如下两种:

1、

//创建文件夹

File dir = new File("/data/data/[your path]/temp");

 

if (!dir.exists()) 

{

 dir.mkdirs();}

/*

try{      

 if(dir.mkdir()) 

   {         

     System.out.println("Directory is created");      

  }else

        {         

        System.out.println("Directory is not created");      

      }

  } catch(Exception e){    }

*/

 

//修改权限

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 dir = new File(“/data/data/[your path]/temp”);

if (!dir.exists()) 

{

   dir.mkdirs();

}

 

Process p;

int status;

try {

 p = Runtime.getRuntime().exec("chmod 777 " +  dir );

 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;

}

 

注意:App只能在自己所在的package包目录下创建文件夹。

 

 


                
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SD女佣 SD Maid Pro将会以完善的方式帮您整理、清洁android设备。”浏览器”是一个完全成熟的文件管理器,用它来浏览管理你的android文件夹。”搜索器”可以使用来打来/删除 或者重命名文件(搜索文件内部,支持通配符)。”查找冗余”可以搜索你设备的空文件夹目录,并且比较那些已安装的应用程序列表。”应用控制”可以冻结、重置以及删除应用程序(甚至是系统应用程序)。”清理系统”可以清理设备中已知的不必要的目录。”优化数据库”检测数据库((System/Apps),并可以整理压缩数据库,以加快访问,以及腾出更多的可用空间。 这个来自您Android设备的女佣,会让你的存储器恢复到整洁状态并保持下去。 这个程序最好安装在已经ROOT的Android设备 ! 没有ROOT的设备,SD女佣对必要的目录没有访问权限。 这是一个强大的工具 !但是使用它会有相对而言的风险 ! 最好不要安装非官方版本的SD女佣,它们“签证包”是错误,会带来不安全因素。 金无足赤人无完人, Android也是如此。 被你删除的应用程序有时候会留下的残留数据。 android系统也会不断创建日志、 崩溃报告和普通用户用不上调试文件。 在您使用“谷歌应用市场”下载应用程序之后,它会产生临时文件(如同浏览器访问网站一样)。 让我们来搞定这些无用的垃圾 … … 为什么不使用“SD女佣”来一次全面的清洁呢?SD 女佣将会以完善的方式帮您整理、清洁android设备 (^.^)! 选择一个标签卡项,点击”检查”,然后点击”全部清理”或者根据需求单个的选择。它就这么的容易。 “浏览器”是一个完全成熟的文件管理器,用它来浏览管理你的android文件夹。 “搜索器”可以使用来打来/删除 或者重命名文件(搜索文件内部,支持通配符)。 “查找冗余”可以搜索你设备的空文件夹目录,并且比较那些已安装的应用程序列表。 “应用控制”可以冻结、重置以及删除应用程序(甚至是系统应用程序)。 “清理系统”可以清理设备中已知的不必要的目录。 “优化数据库”检测数据库((System/Apps),并可以整理压缩数据库,以加快访问,以及腾出更多的可用空间。 此外,你也可以查看”最大文件”,或者查看上次修改的文件。 免费版可以使用10个主要功能,另外2个高级功能,需要购买“解锁器”来解锁。 SD女佣正在精益求精的不断的研发和设计中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值