Files
Krezus/lib/clients/storage/json_storage_client.dart

36 lines
955 B
Dart

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<String> 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<File> _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;
}
}