Ошибка создания файла в приложении Андроид

На самом деле как таковой ошибки нет, но есть сообщение об ошибке Есть читалка, в меню которой есть пункт "Заметка", по его нажатию приложение переходит в новую активность, на экране которой поле для ввода текста, чтобы сделать заметку к тексту файла. При отсутствии заметки она создается, при наличии - открывается имеющаяся Количество файлов для чтения ограничено разработчиком, следовательно итоговое количество заметок равно ему же. Код кнопки "Заметка":

switch (item.getItemId()) {
            case R.id.note:
                Intent intent = new Intent(this, NoteActivity.class);
                Intent position = getIntent();
                int positionValue = position.getIntExtra("head", 0);
                intent.putExtra("head", positionValue);
                startActivity(intent);
                break;
            default:
                break;
        }

Код активности заметки:

public class NoteActivity extends UpActivity {

    private EditText mEditText;
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_note);
        Intent intent = getIntent();    //получаем строку и формируем имя ресурса
        String resName = "note" + intent.getIntExtra("head", 0) + ".txt";

        mEditText = (EditText) findViewById(R.id.editText);
        openFile(resName);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_main_note, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {

            case R.id.action_erase:
                Toast.makeText(this, R.string.note_erase, Toast.LENGTH_LONG).show();
                mEditText.setText("");
                return true;
            case R.id.action_save:
                Toast.makeText(this, R.string.note_save, Toast.LENGTH_LONG).show();
                Intent intent = getIntent();    //получаем строку и формируем имя ресурса
                String resName = "note" + intent.getIntExtra("head", 0) + ".txt";
                saveFile(resName);
                return true;
            default:
                return true;
        }
    }

    // Метод для открытия файла
    private void openFile(String fileName) {
        try {
            InputStream inputStream = openFileInput(fileName);

            if (inputStream != null) {
                InputStreamReader isr = new InputStreamReader(inputStream);
                BufferedReader reader = new BufferedReader(isr);
                String line;
                StringBuilder builder = new StringBuilder();

                while ((line = reader.readLine()) != null) {
                    builder.append(line + "\n");
                }

                inputStream.close();
                mEditText.setText(builder.toString());
            }
        } catch (Throwable t) {
            Toast.makeText(getApplicationContext(),
                    "Exception: " + t.toString(), Toast.LENGTH_LONG).show();
        }
    }

    // Метод для сохранения файла
    private void saveFile(String fileName) {
        try {
            OutputStream outputStream = openFileOutput(fileName, 0);
            OutputStreamWriter osw = new OutputStreamWriter(outputStream);
            osw.write(mEditText.getText().toString());
            osw.close();
        } catch (Throwable t) {
            Toast.makeText(getApplicationContext(),
                    "Exception: " + t.toString(), Toast.LENGTH_LONG).show();
        }
    }
}

У активности свое меню сохранить или стереть заметку (но даже при стирании файл не удаляется, а остается, просто он пустой) Суть проблемы: так как при нажатии на кнопку "Заметка" самого файла заметки еще нет, выскакивает сообщение ошибки Имя пакета/files/note0.txt: open filed: ENOENT (no such file or directory) Во второй раз ошибки уже нет Подскажите, как решить проблему? Предполагаю, что можно так: 1 вариант - создать пустые файлы txt (их не много) сразу до установки пакета (вопрос в том, куда их положить при создании приложения?) 2 вариант создавать файл не при открытии активности заметки, а при нажатии на кнопку (вопрос в том, как это сделать?) Возможно, что-то другое Помогите, пожалуйста...


Ответы (0 шт):