createLanguageCode static method
Future<void>
createLanguageCode(
{ - required String templateFile,
- required String targetFile,
})
Implementation
static Future<void> createLanguageCode({
required String templateFile, //模板目录
required String targetFile, //目标文件
}) async {
bool isTemplateFileExist = await FFile.isExistFile(templateFile);
if (isTemplateFileExist == false) {
print("模板文件不存在 ${templateFile}");
return;
}
bool isTargetFileExist = await FFile.isExistFile(targetFile);
if (isTargetFileExist == false) {
File? createTargetFile = await FFile.createFile(targetFile);
if (createTargetFile == null) {
print("创建目标文件失败 ${targetFile}");
return;
}
}
String templateCode = await FFile.readAsString(templateFile);
if (FFEmpty.stringIsEmpty(templateCode)) {
print("模板文件内容不应该为空 ${templateFile}");
return;
}
//取模板文件转化成Map
Map<String,dynamic>? templateMap;
try {
templateMap = json.decode(templateCode);
} catch (e) {
print("模板文件内容必须是Map,且不能为空 ${templateFile}");
return;
}
if (FFEmpty.mapIsEmpty(templateMap)) {
print("模板文件内容必须是Map,且不能为空 ${templateFile}");
return;
}
//取目标文件转化成Map
String targetCode = await FFile.readAsString(targetFile);
Map<String,dynamic>? targetMap;
if (FFEmpty.stringIsEmpty(targetCode)) {
targetMap = {};
} else {
try {
targetMap = json.decode(targetCode);
} catch (e) {
print("目标文件内容必须是Map ${templateFile}");
return;
}
}
valueIsMap(templateMap!, targetMap!);
String content = json.encode(targetMap);
bool success = await FFile.writeContentByPath(filePath: targetFile, content: content,mode: FileMode.write);
if (success == true) {
print("目标文件追加方法成功 ${targetFile}");
} else {
print("目标文件追加方法失败,请去目标文件Commnd + Z, ${targetFile}");
}
}