Как закрыть Realm после удаленных данных в android - PullRequest
0 голосов
/ 10 марта 2020

У меня есть исключение, когда я вызываю Realm.deleteRealm (Realm.getDefaultConfiguration ()):

java .lang.IllegalStateException: не разрешается удалять файл, связанный с открытым Realm. Не забудьте закрыть () все экземпляры области перед удалением ее файла: /data/data/.....

Я вызываю это сразу после восстановления данных в области БД. это мой код.

 private String copyBundledRealmFile(String oldFilePath, String outFileName) {
    try {
        Realm.deleteRealm(Realm.getDefaultConfiguration());
        File file = new File(getApplicationContext().getFilesDir(), outFileName);

        FileOutputStream outputStream = new FileOutputStream(file);
        Log.d("FileOutput ==", String.valueOf(new FileOutputStream(file)));

        FileInputStream inputStream = new FileInputStream(new File(oldFilePath));

        byte[] buf = new byte[1024];
        int bytesRead;
        while ((bytesRead = inputStream.read(buf)) > 0) {
            outputStream.write(buf, 0, bytesRead);
        }
        outputStream.close();
        return file.getAbsolutePath();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return null;
}
...