openFileOutput 文件属性设置、主动配置文件的可读写属性及事实上现方式

首先參考

Android 内部存储相关的函数(getCacheDir,getDir, getFileStreamPath,getFilesDir,openFileInput, ...)

1. 用openFileOutput方法改变文件的属性,可是该方法有局限性,他创建的文件仅仅能位于该程序的私有文件夹下,即/data/data/app-package/files/。

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

FileOutputStream android.content.ContextWrapper.openFileOutput(String name, int mode) throws
FileNotFoundException

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来实现的改变文件权限的功能。

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

2. 用Runtime.getRuntime().exec()调用系统命令chmod来改变文件的权限,为了能推断命令的返回值,最好写成:

Process p = Runtime.getRuntime().exec("chmod 644 " + filename);
int status = p.waitFor();
if (status == 0) {
    //chmod succeed
} else {
    //chmod failed
}    
时间: 2024-12-25 15:11:29

openFileOutput 文件属性设置、主动配置文件的可读写属性及事实上现方式的相关文章

spring整合velocity 配置文件中的属性

spring整合velocity 配置文件中的相关属性 1 <bean id= "viewResolver" class= "org.springframework.web.servlet.view.velocity.VelocityViewResolver" > 2 <!-- 是否缓存模板 --> 3 <property name ="cache" value="false" /> 4 5

开发路程(6):Web.config配置文件中的属性add,key,value含义

这是添加自定义字符串的方式,保存是以键-值的形式保存的,可以通过key获取value,一般用这种方法配置全局内使用的字符串. <configuration>是配置文件的根配置节. <appSettings>是自定义配置节,包含自定义应用程序设置. add元素是向应用程序设置集合添加名称/值对形式的自定义应用程序设置. 代码: Web.config 1 <configuration> 2 <appSettings> 3 <add key=”UserNam

C/C++ 文件属性设置(隐藏、只读、加密等)

在MSDN中,文件总共有15种属性,根据磁盘的分区格式不同,文件的属性也会不同. GetFileAttributes 获取文件属性函数的返回值 返回字段 返回值 属性类型 FILE_ATTRIBUTE_READONLY 1 只读 FILE_ATTRIBUTE_HIDDEN 2 隐藏 FILE_ATTRIBUTE_SYSTEM 4 系统 FILE_ATTRIBUTE_DIRECTORY 16 目录 FILE_ATTRIBUTE_ARCHIVE 32 存档 FILE_ATTRIBUTE_DEVICE

applicationContext配置文件中的属性说明

lazy-init:设置只对scop属性为singleton的bean起作用. 1.true:延迟加载:这时在第一次向容器通过getBean索取bean时实例化的. 2.false:表示spring启动是立即进行实例化: 在容器层次中通过在<beans/>元素上使用'default-lazy-init'属性来控制延迟初始化也是可能的.如下面的配置: <beans default-lazy-init="true"><!-- no beans will be

在AD中设置漫游配置文件与文件夹重定向

在域环境下,域用户可以在域中的任意一台客户端计算机上登录,由于普通域用户的权限比较低,在大多数情况下只能对自己的用户配置文件具有完全控制权限,因而大多数域用户都是将数据直接保存在用户配置文件中.用户配置文件其实是一个文件夹,默认位置在C盘(系统盘)根目录下一个名字叫"用户(Users)"的文件夹中,每个在这台计算机上登录过的域用户,都会在这个"用户"文件夹中创建一个和自己用户名相同的文件夹,比如"zhangsan".在用户配置文件夹中包含了&qu

MyBatis配置文件(一)――properties属性

MyBatis配置文件中有很多配置项,这些配置项分别代表什么,有什么作用,需要理一下了.先通过下面这个例子来看都有哪些配置项 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE configuration 3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 4 "http://mybatis.org/dtd/mybatis-3

iOS 设置所有UIButton的ExclusiveTouch属性为YES

iOS如何避免对多个按钮同时多点触摸 答: 设置所有UIButton的ExclusiveTouch属性为YES 如何设置? -(void)setExclusiveTouchForButtons:(UIView *)myView {     for (UIView * v in [myView subviews]) {         if([v isKindOfClass:[UIButton class]])             [((UIButton *)v) setExclusiveTo

jquery设置和获取元素的属性

jquery设置和获取元素的属性: 使用jquery可以方便的设置指定元素的属性,下面就以div元素为例子做一下简单介绍. 代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.51texiao.cn/" /> <title>蚂蚁

max文件属性设置,

之前一直都没找到 用到的时候就是用net 弄了.哎.还在开发东西都是在9上面, 这次脚本必须在 max8 上面 逼的我找到了他 getFileAttribute <filename_string> <attribute> setFileAttribute <filename_string> <attribute> <boolean> Get and set the attributes associated with a file. The ge