2014-10-01 88 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