import 'dart:io'; import 'package:path_provider/path_provider.dart'; class JsonStorageClient { save(String filename, String data) async { File file = await _getJson(filename); await file.writeAsString(data); } Future load(String filename) async { File file = await _getJson(filename); return file.readAsString(); } delete(String filename) async { File file = await _getJson(filename); await file.delete(); } Future _getJson(String filename) async { final rootDirectory = Platform.isAndroid ? await getExternalStorageDirectory() : await getApplicationDocumentsDirectory(); final appDirectory = Directory('${rootDirectory!.path}/krezus'); if (!appDirectory.existsSync()) { appDirectory.createSync(); } final targetFile = File('${rootDirectory.path}/krezus/$filename'); if (!targetFile.existsSync()) { targetFile.createSync(); } return targetFile; } }