Возможно, это не ваша проблема, но я просто хочу упомянуть об этом, чтобы быть уверенным:
Если вы посмотрите документацию для функции openFileOutput (String name, int mode)
, описание параметра name
говорит о следующем:
name: Имя файла, который нужно открыть; не может содержать разделители пути.
Обратите внимание, в частности, на то, что часть о не может содержать разделители пути . Многие пропускают этот и пытаются указать полный путь (например, /sdcard/myapp/myfile.txt
), но это не разрешено. Вместо этого вы должны указать только имя файла (например, myfile.txt
).
Причина этого в том, что openFileOutput
открывает поток для файла, который является private для вашего приложения (и в документации также говорится, что он создаст файл, если он не существует). Поэтому указывать путь не имеет никакого смысла, поскольку он будет находиться в ваших приложениях private area.