用另一个覆盖非文本文件

时间:2020-08-11 20:26:03

标签: java sqlite file-writing

我不确定如何覆盖非文本文件。如何用default.db文件覆盖main.db文件(sqlite 3)?

priority_queue<pair<int, vector<string>> pq;

1 个答案:

答案 0 :(得分:2)

您可以使用此FileChannel覆盖db文件或任何其他文件。

try {
    File oldDb = new File(old, oldDbPath);
    File newDb = new File(new, newDbPath);

    if (newDb.exists()) {
        FileChannel oldDbChannel = new FileInputStream(oldDb).getChannel();
        FileChannel newDbChannel = new FileOutputStream(newDb).getChannel();
        newDbChannel.transferFrom(oldDbChannel, 0, oldDbChannel.size());
        oldDbChannel.close();
        newDbChannel.close();
    }

} catch (Exception e) {
    e.printStackTrace();
}

您可以在https://developer.android.com/reference/java/nio/channels/FileChannel上了解有关FileChannel的更多信息。

相关问题