Android文件访问权限

  次阅读 作者:智能小宝 来源:互联网 2016-01-13 22:01 我要评论(0)

android开发,对于文件的访问权限中说明我感觉不是很清楚,用了一个小例子来说明android创建文件,用另外一个应用去访问创建的文件。

android文件创建的模式中使用MODE_PRIVATE创建文件,API中的解释如下:

File creation mode: the default mode, wherethe created file can only be accessed by the calling application (or allapplications sharing the same user ID)。

对于我的理解,对于一个应用以MODE_PRIVATE模式创建的文件只能被调用的应用(或是共享相同的用户ID的应用)访问。

context.MODE_PRIVATE:是默认的操作模式,它代表这个文件是私有的,只能被应用本身访问。(网上这样解释的)

save方法是通过filename,content来保存文件。

1

public void save(String filename, String content) throws Exception{

2

out = context.openFileOutput(filename, Context.MODE_PRIVATE);

3

out.write(content.getBytes());

4

out.close();

5

}

按照context.MODE_PRIVATE的解释该filename的文件只能由该应用本身访问。我尝试另外写了一个应用来对其该应用创建的文件进行访问,创建的文件为123.txt,其属性如下:

01

//testAccessOtherAppFile()方法对123.txt进行访问;位于另一项目中

02

public class FileotherActivityTest extends AndroidTestCase {

03

04

private static final String TAG = "FileotherActivityTest";

05

public void testAccessOtherAppFile() throws Exception{

06

07

String path ="/data/data/com.android/files/123.txt";

08

09

File file = new File(path);

10

FileInputStream in =new FileInputStream(file);

11

12

13

byte[] buffer = new byte[1024];

14

int len = 0;

15

ByteArrayOutputStream out = new ByteArrayOutputStream();

16

while(-1 != (len = in.read(buffer))){

17

out.write(buffer, 0, len);

18

}

19

20

//得到文件的二进制数据

21

byte[] data = out.toByteArray();

22

out.close();

23

in.close();

24

25

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...