2014-10-01 4 views
-2

Я прочитал документацию для openFileOutput и увидел, что «Открыть частный файл, связанный с пакетом приложений этого контекста для написания. Создает файл, если он уже не существует» (http://developer.android.com/reference/android/content/Context.html#openFileOutput(java.lang.String, Int)Зачем нужен MODE_PRIVATE в openFileOutput?

Для второго параметра, вам нужно указать режим. Не указали бы, что MODE_PRIVATE будет избыточным и ненужным, потому что частный файл может быть открыт только приложением, которое вызвало его?

+0

просто для обеспечения безопасности. Избегайте того, кто редактирует ваши данные без вашего разрешения. – santalu

+0

Файл, являющийся частным, уже добавляет безопасность. MODE_PRIVATE ничего не делает – committedandroider

+0

Советуйте, как я могу сформулировать этот вопрос лучше? Я думал, что это было довольно ясно, просто спрашивая, был ли MODE_PRIVATE избыточным или нет. – committedandroider

ответ

1

Аргумент mode - это битполе. Вы можете использовать поразрядные или передать более одного MODE_ флаг функции открытия.

Значение MODE_PRIVATE равно 0, т. Е. Биты не установлены. По умолчанию файлы являются частными, и вам необходимо явно указать другие флаги для предоставления дополнительных разрешений на уровне файловой системы или для управления режимом открытия файла (append/overwrite).

Несомненно, там может быть перегрузкой без каких-либо битов режима i.e. openFileOutput(String), но нет. Написание , 0 не занимает слишком много клавиш.

+0

Я получаю append/overwrite и необходимость иметь другое значение режима для этого, зачем нужен MODE_PRIVATE, когда вы знаете, что файл, который вы возвращаете, является приватным? – committedandroider

+0

Вы можете оставить режим как 0, чтобы получить значение по умолчанию 'MODE_PRIVATE'. – laalto

+0

Я получаю это. Я просто чувствую, что его избыточно даже 0 в качестве опции – committedandroider

Смежные вопросы