从资产中打开数据库...始终是FileNotFoundException

时间:2018-01-08 15:25:37

标签: java android sqlite fragment sqliteopenhelper

我已经创建了一个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();


}
  • Constants.Name是对的(MYDB)
  • 如果我浏览/数据/数据//数据库/我可以找到数据库 - 我尝试使用显式路径和其他解决方案在互联网上建立,但没有运气!

它总是返回FileNotFoundException。

我使用片段,所以我将Context从Fragment传递给了这个方法

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

有人能帮助我吗? 提前致谢 亚历

1 个答案:

答案 0 :(得分:0)