博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在Android java代码中如何改变文件的权限
阅读量:6242 次
发布时间:2019-06-22

本文共 1739 字,大约阅读时间需要 5 分钟。

在LINUX下每个文件都有一个权限的属性 ,那么在Android中怎么用java改变某个文件的权限呢?

 

 Android中有两种方法可以改变文件的权限

 1. 用openFileOutput方法:

FileOutputStream fos;  fos = openFileOutput("filename", MODE_WORLD_READABLE); 

 android.content. .openFileOutput( name, int mode) throws

Open a private file associated with this Context's application package for writing. Creates the file if it doesn't already exist.

 

可用的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;

 

其实该方法最终还是调用了系统的chmod来实现的改变文件权限的功能。

但是该方法有局限性,他创建的文件只能位于该程序的私有目录下,即/data/data/app-package/files/

 

2. 用Runtime.getRuntime().exec()

Runtime.getRuntime().exec("chmod 644 " + filename);

该方法调用系统命令chmod来改变文件的权限,为了能判断命令的返回值,最好写成:

Process p = Runtime.getRuntime().exec("chmod 644 " + filename);  int status = p.waitFor();  if (status == 0) {      //chmod succeed  } else {      //chmod failed  }

 

转载于:https://www.cnblogs.com/nick-zhang/p/3746065.html

你可能感兴趣的文章
算法导论——动态规划
查看>>
Android--高德地图自动定位
查看>>
面试官,您要的快排
查看>>
akka设计模式系列-Aggregate模式
查看>>
webpack4-用之初体验,一起敲它十一遍
查看>>
Redis详解(五)------ redis的五大数据类型实现原理
查看>>
Spring【DAO模块】就是这么简单
查看>>
wamp虚拟主机配置
查看>>
深入Spring Boot:ClassLoader的继承关系和影响
查看>>
Android带有删除按钮的EditText:EditTextWithDeleteButton
查看>>
2:C#TPL探秘
查看>>
Android Segmented RadioButton
查看>>
Java中菜单组件
查看>>
git reset revert 回退回滚取消提交返回上一版本
查看>>
适配mpvue平台的的微信小程序日历组件mpvue-calendar
查看>>
Consul Config 使用Git做版本控制的实现
查看>>
我们必须要知道的RESTful服务最佳实践
查看>>
百度调整Q2营收预期
查看>>
阿里巴巴智慧建筑(IB)峰会 与筑梦者共建新生态
查看>>
Apache Zeppelin安装及使用
查看>>