所謂用戶即在Android系統(tǒng)下每安裝一個(gè)應(yīng)用程序,系統(tǒng)就默認(rèn)該APP為一個(gè)新的用戶,也就是說(shuō)你手機(jī)上的每一個(gè)APP都是一
在文件的權(quán)限中我們已經(jīng)新建了4個(gè)不同權(quán)限的文件,分別為私有的,可讀的,可寫(xiě)的,可追加的。下面我們?cè)傩陆ㄒ粋€(gè)用戶(
上圖表明另一個(gè)用戶已經(jīng)建成,接下來(lái),我們就使用當(dāng)前新建的這個(gè)用戶來(lái)訪問(wèn)文件權(quán)限這一項(xiàng)目中生成的4個(gè)文件,并將讀取
的數(shù)據(jù)打印出來(lái)。
編寫(xiě)訪問(wèn)代碼
在新建項(xiàng)目(other)中讀取另一個(gè)項(xiàng)目(文件權(quán)限)中的文件,編寫(xiě)訪問(wèn)代碼如例1-2:
例1-2 文件訪問(wèn)
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();
復(fù)制代碼
訪問(wèn)另一用戶(文件權(quán)限)私有文件,運(yùn)行程序,LogCat打印出如下圖1-2所示錯(cuò)誤信息:
由上可以得出結(jié)論:一個(gè)用戶訪問(wèn)另一個(gè)用戶的私有文件是不被允許的,這個(gè)私有文件只能被自身用戶所訪問(wèn)。
訪問(wèn)另一用戶(文件權(quán)限)的可讀文件,即將例1-1中的private.dat改為:readable.dat,運(yùn)行程序,LogCat打印出如圖
1-3所示的信息:
訪問(wèn)另一用戶的可寫(xiě)文件,即將例1-1中的private.dat改為:writeable.dat,運(yùn)行程序,LogCat打印如圖1-4所示的信息
:
由上可以得出結(jié)論:一個(gè)用戶讀取另一個(gè)用戶的可寫(xiě)文件是不被允許的,這個(gè)可寫(xiě)文件自能被自身程序所訪問(wèn);但是當(dāng)一個(gè)用戶
編輯另一個(gè)用戶的可寫(xiě)文件,這個(gè)操作是被允許的。
訪問(wèn)另一用戶的可追加文件,即將例1-1中的private.dat改為:append.dat,運(yùn)行程序,LogCat打印如圖1-5所示的信息
:
總結(jié):兩個(gè)用戶之間文件的訪問(wèn)是受到限制的,能否訪問(wèn)成功取決于該文件的權(quán)限。在一個(gè)用戶下新建一個(gè)文件,該文件在默認(rèn)