Сохранение int в файл в Android - PullRequest
0 голосов
/ 05 декабря 2010

У меня есть этот код, который я получил dev.android.com ...

@Override
    protected void onStop(){
        FileOutputStream fos = openFileOutput(filename, MODE_PRIVATE);
        fos.write(levelComplete);
        fos.close();
    }

Возможно, это должно создать файл, если его там нет, в противном случае, он должен записать в него.Тем не менее, я получаю FileNotFoundException.Справка?

РЕДАКТИРОВАТЬ: Ввод:

@Override
protected void onStart(){
    FileInputStream fis = openFileInput(filename);
    levelComplete = fis.read();
    fis.close();
}

Ответы [ 2 ]

0 голосов
/ 05 декабря 2010

Возможно, это не ваша проблема, но я просто хочу упомянуть об этом, чтобы быть уверенным:

Если вы посмотрите документацию для функции openFileOutput (String name, int mode), описание параметра name говорит о следующем:

name: Имя файла, который нужно открыть; не может содержать разделители пути.

Обратите внимание, в частности, на то, что часть о не может содержать разделители пути . Многие пропускают этот и пытаются указать полный путь (например, /sdcard/myapp/myfile.txt), но это не разрешено. Вместо этого вы должны указать только имя файла (например, myfile.txt).

Причина этого в том, что openFileOutput открывает поток для файла, который является private для вашего приложения (и в документации также говорится, что он создаст файл, если он не существует). Поэтому указывать путь не имеет никакого смысла, поскольку он будет находиться в ваших приложениях private area.

0 голосов
/ 05 декабря 2010

Попробуйте следующий код:

String FILENAME = "hello_file";
String string = "hello world!";

FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();

Также не забудьте поместить разрешения в файл манифеста.Что-то вроде:

<uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Это должно помочь !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...