openFileOutput 文件属性设置、主动配置文件的可读写属性及其实现方式
2014-08-04 09:02
393 查看
首先参考
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来改变文件的权限,为了能判断命令的返回值,最好写成:
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 }
相关文章推荐
- openFileOutput 文件属性设置、主动配置文件的可读写属性及事实上现方式
- [InstallShield]FindAllFiles与SetFileInfo配合实现文件加多文件属性设置
- 1、怎样设置C#OpenFileDialog(文件选择窗体)的指定路径、文件格式等属性(设置打开默认路径、文件格式、窗体显示文本)
- 通过SharedPreference 去设置了配置文件,然后通过openFileInput读的时候读不到文件
- Eclipse配置skpet实现代码提示,并设置js文件的默认打开方式
- JAVA基础初探(十二)Map接口及其常用实现类(HashMap)、File类详解(概述、创建、删除、重命名、文件属性读取/设置、遍历文件夹)
- 几种读取属性文件的JAVA实现方式
- struts2——为Action配置Method属性,实现同一文件,多个Action
- 实现自定义Workflow(2):设置配置文件
- 一步一步SharePoint 2007之四十三:实现自定义Workflow(2)——设置配置文件
- vba使用win32 API(GetOpenFileName )实现打开文件对话框
- 用Spring配置文件或者注解方式实现AOP
- [delphi函数]FileGetAttr、FileSetAttr 读取与设置文件属性
- vba使用win32 API(GetOpenFileName )实现打开文件对话框
- vba使用win32 API(GetOpenFileName )实现打开文件对话框
- vba使用win32 API(GetOpenFileName )实现打开文件对话框
- vba使用win32 API(GetOpenFileName )实现打开文件对话框
- 用Spring配置文件或者注解方式实现AOP
- vba使用win32 API(GetOpenFileName )实现打开文件对话框