36 lines
955 B
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;
|
|
}
|
|
} |