ToneSnap_FSX_Flutter/lib/utils/file_util.dart
fengshengxiong 422a3f8802 first commit
2024-06-11 11:53:38 +08:00

40 lines
1.2 KiB
Dart

// Author: fengshengxiong
// Date: 2024/6/4
// Description: 文件工具类
import 'dart:io';
import 'package:flutter/services.dart';
import 'package:tone_snap/utils/local_path_util.dart';
import 'package:tone_snap/utils/log_print.dart';
class FileUtil {
/// Assets文件复制到getAssetsDir目录下
static Future<String> getAssetsToFilePath(String assets) async {
final byteData = await rootBundle.load(assets);
final file = File('${(await LocalPathUtil.getAssetsDir()).path}/${assets.split('/').last}');
await file.create(recursive: true);
await file.writeAsBytes(byteData.buffer.asUint8List(byteData.offsetInBytes, byteData.lengthInBytes));
return file.path;
}
/// 删除目录中的所有文件
static Future<void> deleteAllFilesInDirectory(Directory directory) async {
if (await directory.exists()) {
final files = directory.listSync();
for (var file in files) {
if (file is File) {
try {
await file.delete();
LogPrint.d('Deleted file: ${file.path}');
} catch (e) {
LogPrint.d('Error deleting file: ${file.path}, Error: $e');
}
}
}
} else {
LogPrint.d('Directory does not exist: ${directory.path}');
}
}
}