import 'dart:io'; import 'package:sqflite_common/sqlite_api.dart'; Future addDataFromRADKFILE(Database db) async { final String content = File('data/radkfile_utf8').readAsStringSync(); final Iterable blocks = content.replaceAll(RegExp(r'^#.*$'), '').split(r'$').skip(2); print('[RADKFILE] Writing to database...'); final b = db.batch(); for (final block in blocks) { final String radical = block[1]; final List kanjiList = block .replaceFirst(RegExp(r'.*\n'), '') .split('') ..removeWhere((e) => e == '' || e == '\n'); for (final kanji in kanjiList.toSet()) { b.insert( 'RADKFILE', { 'radical': radical, 'kanji': kanji, }, ); } } b.commit(); }