Я хочу переименовать контекстный приватный файл, созданный с помощью openFileOutput (), но я не знаю, как ...
Я пробовал это:
File file = getFileStreamPath(optionsMenuView.getPlaylistName()); // this file already exists
try {
FileOutputStream outStream = openFileOutput(newPlaylistName, Context.MODE_WORLD_READABLE); // i create a new file with the new name
outStream.close();
}
catch (FileNotFoundException e) {
Log.e(TAG, "file not found!");
e.printStackTrace();
}
catch (IOException e) {
Log.e(TAG, "IO exception");
e.printStackTrace();
}
Log.e(TAG, "rename status: " + file.renameTo(getFileStreamPath(newPlaylistName))); //it return true
Этот код вызывает исключение FileNotFoundException, но в документации сказано: «Откройте личный файл, связанный с пакетом приложения этого контекста, для записи. Создает файл, если он еще не существует ». поэтому новый файл должен быть создан на диске.
Проблема: когда я пытаюсь прочитать из нового переименованного файла, я получил FileNotFoundException!
Спасибо!