Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sqlite Kotlin:如何将文件从资产文件夹复制到数据库文件夹_Sqlite_Kotlin_Assets - Fatal编程技术网

Sqlite Kotlin:如何将文件从资产文件夹复制到数据库文件夹

Sqlite Kotlin:如何将文件从资产文件夹复制到数据库文件夹,sqlite,kotlin,assets,Sqlite,Kotlin,Assets,因此,代码应该非常简单,只需将数据库文件复制到databases文件夹。出于某种原因,我一直得到一个java.iofilenotfoundexception,我正试图让它在活动中工作 我的第二个问题是,为了让它在一个片段中工作,我需要做哪些更改 谢谢 // Copies your database from your local assets-folder to the just created // empty database in the system folder @Throws(IOE

因此,代码应该非常简单,只需将数据库文件复制到databases文件夹。出于某种原因,我一直得到一个java.iofilenotfoundexception,我正试图让它在活动中工作

我的第二个问题是,为了让它在一个片段中工作,我需要做哪些更改

谢谢

// Copies your database from your local assets-folder to the just created
// empty database in the system folder
@Throws(IOException::class)
private fun copyDataBase() {

    val outFileName = DATABASE_PATH + DATABASE_NAME

    val myOutput = FileOutputStream(outFileName)
    val myInput = this.assets.open(DATABASE_NAME)

    val buffer = ByteArray(1024)
    var length: Int = myInput.read(buffer)
    while ((length) > 0) {
        myOutput.write(buffer, 0, length)
        length = myInput.read(buffer)
    }
    myInput.close()
    myOutput.flush()
    myOutput.close()
}

什么是
DATABASE\u PATH
DATABASE\u NAME
?顺便说一下,Kotlin有一个方便的扩展名(当源代码也是文件时),我看到了这些扩展名,但不确定如何使用它们。我尝试了这个文件(applicationContext.assets.toString()+数据库名称).copyTo(文件(数据库路径+数据库名称))