`

安卓2.1或以下改写文件属性权限

 
阅读更多
安卓2.1编程,如果要改变其文件属性,需要修改文件权限,可以用Runtime.getRuntime().exec(command);方法。

try {
    Runtime.getRuntime().exec(command);
} catch (IOException e) {

}

应用场景多种多样,可以是:
1:程序升级时,假如没有sd卡的话,需要写入内存卡里的时候,此时,权限是-rw-------。 由于安卓2.1里File类没有设置权限的方法,(如果2.2以上 会有这些方法:setExecutable(true, false);setReadable(true, false);等)。因此,只能用上述方法进行处理。可想,如果程序升级时,当前下载的升级文件没有可读写权限,于是是升级不了的。但是SD卡不同,如果存在SD卡,其写入的属性是----rwxr-x。
因此,如果要进行程序升级时,如果有判断写入内存卡时,记得为文件写权限。


附上:
File file = new File(path);
     file.createNewFile();
     //设置文件可读写权限
     try{
        Process process = Runtime.getRuntime().exec("chmod 777 "+ path);
        int status = process .waitFor();
        if(status == 0){
           Logger.warn("########create success:", ss);
        }else{
           Logger.warn("########create fail:", ss);
        }
     }catch(Exception e){
        e.printStackTrace();
     }
分享到:
评论

相关推荐

    Linux文件和目录读写执行权限解析

    * 可执行(x):表示可以读取该目录下面的文件内容或者改写文件内容(在文件权限允许的情况下)。 * 仅可读(r):目录的读权限仅允许我们读目录,获得在该目录中所有文件名的列表,不可添加删除其中的文件或目录,...

    detour 2.1

    ---- 运行任务管理器找到spoolss.exe或rpcss.exe或winlogon.exe或sevice.exe的进程ID (2)执行AddMeToAdministrators.exe procid, 其中procid为(1)记下的进程ID (3)签退再签到,运行用户管理器,即可发现自己已...

    Linux系统文件权限隐藏的细节深入分析

    Linux系统文件权限是其安全模型的核心,通过精细的权限控制,确保了系统资源的安全和有效管理。在Linux中,文件的权限分为读(r)、写(w)和执行(x)三种,每种权限又针对文件所有者(u),文件所属组(g),和...

    EditPlus 安装文件 与 缩减编写语言改写文件

    在提供的压缩包中,包含的是EditPlus的安装程序以及用于简化编写语言的改写文件。 安装EditPlus的过程相当直观和简单。首先,你需要下载这个压缩包并进行解压。解压后,找到包含"Setup"或者"Install"字样的可执行...

    Ckfinder PHP V2.1,去掉部分不想看的东西

    1. **多文件上传功能**:Ckfinder V2.1 支持批量上传多个文件,用户可以通过简单的操作一次性上传多个图像或文档,极大地提高了工作效率。这得益于其内置的文件处理机制和后端的PHP脚本,使得文件上传过程变得简单且...

    Android改写TitleBar

    在Android开发中,TitleBar(也称为ActionBar或Toolbar)是应用程序顶部的标准组件,通常用于显示应用的名称、图标以及提供导航和操作功能。在Android设计规范中,TitleBar被用作用户界面的一部分,以增强用户体验。...

    android 文件浏览器

    4. **权限管理**:Android 6.0及以上版本引入了运行时权限,访问文件系统需要请求`READ_EXTERNAL_STORAGE`权限。应用需要在运行时检查并请求这些权限,否则无法读取文件。 5. **文件过滤**:根据需求,可能需要对...

    改写PE文件导入表加载DLL

    改写PE文件的导入表加载DLL的过程通常包括以下步骤: 1. **定位导入表**:找到PE文件中对应的导入表,这通常可以通过PE文件头的`IMAGE_DATA_DIRECTORY`结构来完成。 2. **修改DLL名称**:要加载不同的DLL,需要在...

    Android SO文件保护加固——混淆篇(一)源代码

    在Android应用开发中,SO(Shared Object)文件是C或C++编译的库,用于提供Java层无法实现的性能优化或系统级别的功能。然而,由于SO文件通常包含敏感的原生代码,它们成为了黑客攻击的目标。为了提高应用的安全性,...

    C++实验2代码2.1

    2.1 声明一个树Tree类,有数据成员ages(树龄),构造函数Tree(int n=0)进行初始化,成员函数grow(int years)对ages加上years,成员函数age()显示对象年龄等。请在主函数中定义一个Tree类对象进行测试(创建一个树龄...

    VOS3000_VOS2009 V2.1.6.00 Web接口说明书.docx

    ### VOS3000_VOS2009 V2.1.6.00 Web接口说明书 #### 概述 本文档详细介绍了昆石VOS2009/VOS3000版本2.1.6.00中的Web接口使用方法与参数配置。这些接口主要用于管理账户、话机、网关等核心业务功能,并提供了多种...

    C++改写的用于文件及文件夹更名

    "C++改写的用于文件及文件夹更名"是一个针对这一需求的工具,它允许用户批量地更改多个文件或文件夹的名称,极大地提高了工作效率。C++是一种强大的、通用的编程语言,它的性能优秀且灵活性高,使得编写这样的工具...

    PCI Express Base Specification, Revision 2.1.pdf

    3. Atomic Operations ECN(原子操作扩展变更):提供了在多个PCI Express设备之间进行原子读改写操作的能力。 4. Resizable BAR Capability ECN(可调整大小的基址寄存器能力扩展变更):允许操作系统动态调整设备...

    JDBC——属性文件的用途之一

    JDBC——属性文件的用途之一 嘎嘎!大家看看这段代码,是不是可以把1 2 3 4 放在一个文件中,这样即使换了其他的数据库也不需要改写代码,只需要改写配置文件就行了。 public static Connection getConnection(){ ...

    汇编语言模拟一个dos功能,实现文件后缀名批量改写(有详细分析)

    ### 汇编语言模拟DOS功能:文件后缀名批量改写实验报告解析 #### 一、实验背景与目的 本次实验旨在通过汇编语言模拟DOS环境下的一项实用功能——批量修改文件后缀名。具体来说,实验要求设计并实现一个能够遍历...

    stm32固件库改写文件

    linux搭建stm32开发环境,所必须的文件 对stm32固件库的改写

    向sd卡写文件

    在Android系统中,由于安全性和权限管理的考虑,直接向SD卡(外部存储)写文件并不像在内部存储那样简单。本知识点将详细介绍如何在Android应用中实现向SD卡写文件,以及如何通过封装类提高代码复用性。我们将以提供...

    线程文件搜索(改写系统窗口)

    7. **错误处理和异常安全**:在文件搜索过程中,可能会遇到各种问题,如文件权限问题、磁盘空间不足等。因此,程序需要包含适当的错误处理代码,确保在出现问题时能够优雅地恢复或向用户提供清晰的错误信息。 8. **...

    CAD扩展属性查看及修改

    采用lisp进行CAD扩展属性查看及修改,在CAD中采用"appload"加载,输入命令“ck”,会弹出实体扩展属性对话框,可在框内直接修改,神器呀!!

Global site tag (gtag.js) - Google Analytics