如何以csv或其他格式从nativescript中导出和导入所选表或从sqlite数据库中完成数据库

时间:2019-03-06 07:44:13

标签: javascript sqlite nativescript nativescript-plugin

在一种情况下,我试图导出整个sqlite数据库,而在另一种情况下,仅通过单击项目的按钮(备份功能)仅导出选定的表。我用谷歌搜索,但似乎是负面的回应。我为此使用了https://github.com/NathanaelA/nativescript-sqlite插件。还需要使用文件选择器或其他工具导入导出的数据库。现在,我正在尝试通过参考https://stackoverflow.com/a/49146471/8750174使用带有本地脚本的Java代码来实现此目标。任何本机方式的帮助将不胜感激。预先感谢。

let is = java.io.InputStream = null;
let os = java.io.OutputStream = null;

try {
    is = new java.io.FileInputStream('/data/data/org.nativescript.Aads/databases/mydatabse.db');
    os = new java.io.FileOutputStream('/storage/emulated/0/aads_Backup/dbincsvformat.csv');

    const buffer = Array.create('byte', 4096);

    while ((is.read(buffer).length) > 0) {
        os.write(buffer, 0, length);
    }
} catch (e) {
    this.errorService.handleError(e);
} finally {
    console.log('copy done');
    is.close();
    os.close();
}

1 个答案:

答案 0 :(得分:0)

CSV只是文本文件中制表符分隔或逗号分隔的值。 {N}有其跨平台file-system module,支持对文件的读/写。

您所要做的就是将逗号分隔的字符串传递给writeText / writeTextSync方法。

类似

const documents = fileSystemModule.knownFolders.documents();
const file = documents.getFile("test.csv");
file.writeTextSync(`1,2,3\n\r4,5,6`);