Android下文件访问的权限
* 默认情况下,Android中,应用程序的文件时私有的,其他应用程序不可以读取私有的文件
* 底层用的时Linux文件的权限

- rw- rw- ---
- :文件
r:只读 readable
w:只写 writeable
x: 可执行
第一位:文件类型
234位:应用程序对自己文件的权限
567位:同组用户对这个文件的操作权限
8910位:其他应用程序对文件的权限
package com.example.filemode;
import java.io.FileOutputStream;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn1 = (Button) findViewById(R.id.btn1);
Button btn2 = (Button) findViewById(R.id.btn2);
Button btn3 = (Button) findViewById(R.id.btn3);
Button btn4 = (Button) findViewById(R.id.btn4);
// 设置监听事件
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
btn3.setOnClickListener(this);
btn4.setOnClickListener(this);
}
@Override
public void onClick(View v) {
try {
FileOutputStream fos = null;
switch (v.getId()) {
case R.id.btn1:// 私有
fos = this.openFileOutput("private.txt", MODE_PRIVATE);
break;
case R.id.btn2:// 只读
fos = this.openFileOutput("readable.txt", MODE_WORLD_READABLE);
break;
case R.id.btn3:// 只写
fos = this.openFileOutput("writeable.txt", MODE_WORLD_WRITEABLE);
break;
case R.id.btn4:// 可读可写
fos = this.openFileOutput("public.txt",MODE_WORLD_READABLE + MODE_WORLD_WRITEABLE);
break;
default:
break;
}
fos.write("呵呵".getBytes());
fos.close();
Toast.makeText(this, "文件保存成功,哈哈。。。", 0).show();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, "文件保存失败楼", 0).show();
}
}
}
package com.example.readwrite;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast; public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void read(View v){
try {
File file = new File("/data/data/com.example.filemode/files/public.txt");
FileInputStream fis = new FileInputStream(file);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
String text = br.readLine();
br.close();
Toast.makeText(this, "哈哈:"+text, 0).show();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, "无权读取文件", 0).show();
}
} public void write(View v){
File file = new File("/data/data/com.example.filemode/files/public.txt");
try {
FileOutputStream fos = new FileOutputStream(file);
fos.write("LoaderMan".getBytes());
fos.close();
Toast.makeText(this, "嘿嘿", 0).show();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, "失败了!", 0).show();
}
}
}
Android下文件访问的权限的更多相关文章
- 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)
1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...
- [android] android下文件访问的权限
/**************2016年5月4日 更新**************************/ 知乎:android编程中写文件(例如a.txt)后存在手机哪个位置啊? 用FileOut ...
- Android开发学习---android下的数据持久化,保存数据到rom文件,android_data目录下文件访问的权限控制
一.需求 做一个类似QQ登录似的app,将数据写到ROM文件里,并对数据进行回显. 二.截图 登录界面: 文件浏览器,查看文件的保存路径:/data/data/com.amos.datasave/fi ...
- 25_android下文件访问的权限
写文件:FileOutputStream fos = 上下文.openFileOutput("private.txt",Context.MODE_PRIVATR);参数1 文件名, ...
- [置顶] Linux下文件和目录权限说明
在Linux下使用ls -l或者ll命令可以查看文件和文件夹的权限.结果显示类似于: drwxrwxrwx,这里分为四组,分别为文件类型,文件所有者的权限(读写执行),文件所有者所在组用户的权限(读写 ...
- 关于 IIS7.0下文件写入无权限的解决办法
1. 在IIS Web站点上右键 --> 编辑权限 2. 在弹出的窗体上选择[安全]选项卡,如图: 3. 在安全选项卡中点击[编辑]按钮,弹出如图对话框: 4. 点击[添加]按钮,弹出如图对话框 ...
- android 65 文件访问权限
package com.itheima.createfile; import java.io.File; import java.io.FileNotFoundException; import ja ...
- linux下文件的特殊权限s和t
先看看这两个文件的权限:[root@localhost ~]# ls -ld /usr/bin/passwd /tmpdrwxrwxrwt 4 root root 4096 Jun 2 17:33 / ...
- Win7系统开放C盘下文件夹Everyone权限
安装软件时遇到这样的情况:我就是管理员权限啊,怎么会安装有问题呢? 后来知道,用户名即使分配了你是管理员权限,有些文件还是有限制的(特别是C盘) 昨天遇到一个问题,有个文件夹里的隐藏文件就是无法显示, ...
随机推荐
- shell脚本编写之Hello World
Linux下编写第一个Shell脚本 //创建一个.sh文件 vi demo1.sh //按i进入编辑模式 echo "Hello World !" //按esc→shift+:→ ...
- spring 通用mapper的一些注解
1.1@Table 注解 注解作用:建立实体类和数据库表之间的对应关系.默认规则:实体类类名首字母小写作为表名.Employee 类→employee 表. 用法:在@Table 注解的 name 属 ...
- Ubuntu系统---FeiQ安装记录
Ubuntu系统---FeiQ安装记录 linux下安装飞秋/飞鸽传书之类的软件iptux信使,可以与windows在一个局域网下聊天与传书文件,安装很简单. 首先,直接运行下面的语句即可:sudo ...
- List、Set、Map 之间的区别是什么?(未完成)
List.Set.Map 之间的区别是什么?(未完成)
- 关于POI操作Excel
公共接口Workbook http://poi.apache.org/apidocs/dev/org/apache/poi/ss/usermodel/Workbook.html
- Appium Desired Capabilities-General Capabilities
Desired Capabilities are keys and values encoded in a JSON object, sent by Appium clients to the ser ...
- gdb 使用finish命令(缩写fin)
gdb 使用finish命令(缩写fin) gdb 使用finish命令(缩写fin) gdb 使用finish命令(缩写fin) 跳出跟踪的函数
- Jenkins构建从github上克隆时,报Host key verification failed.
首先在本地通过CMD执行git clone xxxxx时,可以成功的通过免密(SSH_KEY)克隆下来代码,但是通过Jenkins克隆时,就报如下信息: Cloning into 'GitHub'.. ...
- c#系统泛型委托
Action<T> 无返回值的系统泛型委托 namespace ConsoleApp1 { public class UserInfo { public int Id { get; set ...
- 给程序添加git commit信息
遇到了一个客户程序出问题,自己这边始终无法重现的bug.为了检查问题,查到了一个添加git的commit信息到程序中的方法,感觉对程序版本控制十分好用. 一,项目中添加如下文件 文件结构: GitVe ...