как экспортировать и импортировать выбранные таблицы или заполнить БД из базы данных sqlite в nativescript в csv или другом формате - PullRequest
0 голосов
/ 06 марта 2019

Я пытаюсь экспортировать всю базу данных sqlite в одном случае и только выбранные таблицы в другом случае нажатием кнопки для проекта (функция резервного копирования).Я гуглил по тому же, но, похоже, отрицательный ответ.Для этого я использую плагин https://github.com/NathanaelA/nativescript-sqlite.Также необходимо импортировать экспортированную базу данных с помощью средства выбора файлов или некоторых других.Прямо сейчас я пытаюсь достичь этого, используя Java-код с nativescript, ссылаясь на https://stackoverflow.com/a/49146471/8750174.. Любая помощь в формате nativescript будет принята с благодарностью.Заранее спасибо.

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 голосов
/ 06 марта 2019

CSV - это не что иное, как разделенные табуляцией или разделенные запятыми значения в текстовом файле. {N} имеет кроссплатформенный модуль файловой системы , поддерживает чтение / запись в файл.

Все, что вам нужно сделать, это передать отдельную строку через запятую методу writeText / writeTextSync.

Что-то вроде,

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