全国咨询热线:400-618-9090

首页技术文章正文

Android+物联网培训之用户和文件权限

创建时间:2017-08-01 17:44:09.0 来源:黑马程序员Android+物联网培训学院

所谓用户即在Android系统下每安装一个应用程序,系统就默认该APP为一个新的用户,也就是说你手机上的每一个APP都是一
个用户。文件的权限我们已经讲述过,那么接下来我们将论述用户与文件权限的关系。
在文件的权限中我们已经新建了4个不同权限的文件,分别为私有的,可读的,可写的,可追加的。下面我们再新建一个用户(
即新建一个项目),在该项目中访问上述新建文件的数据。
新建一个用户
新建Android项目(other),使用系统自动生成的布局文件,运行程序如图1-1所示
上图表明另一个用户已经建成,接下来,我们就使用当前新建的这个用户来访问文件权限这一项目中生成的4个文件,并将读取
的数据打印出来。
编写访问代码
在新建项目(other)中读取另一个项目(文件权限)中的文件,编写访问代码如例1-2:
例1-2  文件访问
File file =
new File("/data/data/com.itheima.login2/files/private.dat");
FileInputStream fis = new FileInputStream(file);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
System.out.println(br.readLine());
fis.close();
复制代码
  访问另一用户(文件权限)私有文件,运行程序,LogCat打印出如下图1-2所示错误信息:
由上可以得出结论:一个用户访问另一个用户的私有文件是不被允许的,这个私有文件只能被自身用户所访问。
  访问另一用户(文件权限)的可读文件,即将例1-1中的private.dat改为:readable.dat,运行程序,LogCat打印出如图
1-3所示的信息:
  访问另一用户的可写文件,即将例1-1中的private.dat改为:writeable.dat,运行程序,LogCat打印如图1-4所示的信息
由上可以得出结论:一个用户读取另一个用户的可写文件是不被允许的,这个可写文件自能被自身程序所访问;但是当一个用户
编辑另一个用户的可写文件,这个操作是被允许的。
  访问另一用户的可追加文件,即将例1-1中的private.dat改为:append.dat,运行程序,LogCat打印如图1-5所示的信息
总结:两个用户之间文件的访问是受到限制的,能否访问成功取决于该文件的权限。在一个用户下新建一个文件,该文件在默认
状态下是私有的即不能被其它用户所访问,这样设计的目的也是为了避免用户的数据泄露


本文版权归黑马程序员Android+物联网培训学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:黑马程序员Android+物联网培训学院
首发:http://android.ithaima.com

在线咨询 我要报名