从资产打开数据库...总是 FileNotFoundException

Open Database from Assets...always FileNotFoundException

我已经创建了一个 SQLite 数据库。它起来 运行... 现在,我想制作一个备份副本(如果可能的话,在同一个文件夹中)但是 4 小时后我不能。 我阅读了很多关于这个问题的帖子...这是我在 DBHelper 中的代码:

public void copyDataBase(String itinerario, Context c) throws IOException {

        InputStream mInputStream = c.getAssets().open(Constants.DB_NAME);
        String outFileName = DB_PATH+Constants.DB_NAME+itinerario;
        OutputStream mOutputStream = new FileOutputStream(outFileName);
        byte[] buffer = new byte[1024];
        int length;
        while ((length = mInputStream.read(buffer)) > 0) {
            mOutputStream.write(buffer, 0, length);
        }
        mOutputStream.flush();
        mOutputStream.close();
        mInputStream.close();


}

它总是 return 一个 FileNotFoundException。

我正在使用片段,所以我将上下文从片段传递给此方法

可能是我犯了一个蹩脚的错误,但是4个小时后我没有发现错误...代码很清楚

有人可以帮助我吗? 提前致谢 亚历克斯

您可以使用 Context#getDatabasePath(String)https://developer.android.com/reference/android/content/Context.html#getDatabasePath(java.lang.String)