2014-10-01 44 views
-2

我讀openFileOutput的文檔,發現「打開與此上下文的應用程序包寫相關的私人文件。創建,如果它不存在的文件」(http://developer.android.com/reference/android/content/Context.html#openFileOutput(java.lang.String,INT)爲什麼openFileOutput中需要MODE_PRIVATE?

對於第二個參數,你必須指定一個模式。不會指定MODE_PRIVATE是多餘的和不必要的,因爲私有文件只能由調用它的應用程序打開?

+0

只是爲了安全起見。避免在沒有您的許可的情況下編輯您的數據 – santalu 2014-10-01 07:08:58

+0

私人文件已經增加了安全性。 MODE_PRIVATE並沒有真正做任何事 – committedandroider 2014-10-01 07:16:50

+0

關於如何更好地說出這個問題的建議?我認爲這一點很清楚,只是詢問MODE_PRIVATE是否冗餘 – committedandroider 2014-11-17 08:28:49

回答

1

mode參數是一個位域。您可以使用按位或將多個MODE_標誌傳遞給打開的函數。

MODE_PRIVATE的值是0,即沒有位被設置。默認情況下,文件是私有的,您需要在其中明確設置其他標誌以授予其他文件系統級權限,或者控制文件打開模式(附加/覆蓋)。

當然,有可能是沒有任何模式位的過載,即openFileOutput(String),但沒有。編寫, 0不需要太多擊鍵。

+0

我得到append/overwrite,並且需要另一個模式值,爲什麼當你知道你回來的文件是私人文件時需要MODE_PRIVATE? – committedandroider 2014-10-01 07:18:33

+0

您可以將模式保留爲0,以獲得默認的「MODE_PRIVATE」。 – laalto 2014-10-01 07:19:22

+0

我明白了。作爲一個選項,我只是覺得它是多餘的 – committedandroider 2014-10-01 07:21:52