using GenerateCode_GEBrilliantFactory; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace GenerateCode_GEBrilliantFactory { public class TextHelper { /// /// 读取text文本内容 /// /// /// public static string ReadText(string path) { try { StreamReader sr = new StreamReader(path, Encoding.Default); String line; StringBuilder sb = new StringBuilder(); while ((line = sr.ReadLine()) != null) { sb.Append(line.ToString() + " \n"); } sr.Close(); sr.Dispose(); return sb.ToString(); } catch { throw; } } /// /// 写入text文本内容 /// /// /// public static void WriteText(string path, string data) { //判断路径是否存在 if (!System.IO.File.Exists(path)) { throw new Exception("文件不存在"); } //文件覆盖方式添加内容 System.IO.StreamWriter file = new System.IO.StreamWriter(path, false); //保存数据到文件 file.Write(data); //关闭文件 file.Close(); //释放对象 file.Dispose(); } /// /// 生成文件 /// /// 路径 /// 表名 /// 生成的代码字符串 /// 生成的文件类型 /// 前缀 /// 实体类名 /// 模块名字 /// public static bool Export2File(string _strPath, string _tableName, string _code, FileType fileType, string filePrefixName, string entityName, string modulelogo) { string fileFolderPath = _strPath + "\\" + _tableName; string fileTypeName = ""; switch (fileType) { case FileType.Model: fileTypeName = ".cs"; break; case FileType.AddModelParam: entityName = "Add" + modulelogo + "Param"; fileTypeName = ".cs"; break; case FileType.IBLL: entityName = "I" + filePrefixName + "BLL"; fileTypeName = ".cs"; break; case FileType.Controller: entityName = entityName + "Controller"; fileTypeName = ".cs"; break; case FileType.JS: entityName = filePrefixName; fileTypeName = ".js"; break; case FileType.CSHTML_List: entityName = filePrefixName; fileTypeName = ".cshtml"; break; case FileType.CSHTML_Detail: entityName = filePrefixName; fileTypeName = "Detail.cshtml"; break; case FileType.XML: entityName = filePrefixName; fileTypeName = ".xml"; break; case FileType.Proc: entityName = filePrefixName; fileTypeName = "Proc.sql"; break; case FileType.DAL: entityName = filePrefixName; fileTypeName = "DAL.cs"; break; case FileType.BLL: entityName = filePrefixName; fileTypeName = "BLL.cs"; break; case FileType.InputModel: entityName = entityName + "Input"; fileTypeName = ".cs"; fileFolderPath += "\\Dto"; break; case FileType.OutputModel: entityName = entityName + "Output"; fileTypeName = ".cs"; fileFolderPath += "\\Dto"; break; case FileType.WCF_InterFace: entityName = "I" + entityName + "Service"; fileTypeName = ".cs"; break; case FileType.WCF_InterFaceRealize: entityName = entityName + "Service"; fileTypeName = ".cs"; break; case FileType.SQL_Insert: entityName = _tableName + "InsertSQL"; fileTypeName = ".txt"; break; case FileType.VUE_FunConfig: entityName = _tableName + "VUE方法配置"; fileTypeName = ".txt"; break; case FileType.VUEFile: entityName = modulelogo; fileTypeName = ".vue"; break; } if (!Directory.Exists(fileFolderPath)) { Directory.CreateDirectory(fileFolderPath); } string filePath = fileFolderPath + "\\" + entityName + fileTypeName; using (StreamWriter outfile = new StreamWriter(filePath, false, Encoding.GetEncoding("UTF-8"))) { outfile.Write(_code); } return true; } /// /// 生成文件 /// /// 路径 /// 表名 /// 生成的代码字符串 /// 生成的文件类型 /// 前缀 /// 实体类名 /// 模块名字 /// public static bool Export2File_V2(string _strPath, string _tableName, string _code, FileType fileType, string filePrefixName, string entityName, string modulelogo) { string fileFolderPath = _strPath + "\\"; string fileTypeName = ""; switch (fileType) { case FileType.Model: fileTypeName = ".cs"; break; case FileType.AddModelParam: entityName = "Add" + modulelogo + "Param"; fileTypeName = ".cs"; break; case FileType.IBLL: entityName = "I" + filePrefixName + "BLL"; fileTypeName = ".cs"; break; case FileType.Controller: entityName = entityName + "Controller"; fileTypeName = ".cs"; break; case FileType.JS: entityName = filePrefixName; fileTypeName = ".js"; break; case FileType.CSHTML_List: entityName = filePrefixName; fileTypeName = ".cshtml"; break; case FileType.CSHTML_Detail: entityName = filePrefixName; fileTypeName = "Detail.cshtml"; break; case FileType.XML: entityName = filePrefixName; fileTypeName = ".xml"; break; case FileType.Proc: entityName = filePrefixName; fileTypeName = "Proc.sql"; break; case FileType.DAL: entityName = filePrefixName; fileTypeName = "DAL.cs"; break; case FileType.BLL: entityName = filePrefixName; fileTypeName = "BLL.cs"; break; case FileType.InputModel: entityName = entityName + "Input"; fileTypeName = ".cs"; break; case FileType.OutputModel: entityName = entityName + "Output"; fileTypeName = ".cs"; break; case FileType.WCF_InterFace: entityName = "I" + entityName + "Service"; fileTypeName = ".cs"; break; case FileType.WCF_InterFaceRealize: entityName = entityName + "Service"; fileTypeName = ".cs"; break; case FileType.SQL_Insert: entityName = _tableName + "InsertSQL"; fileTypeName = ".txt"; break; case FileType.VUE_FunConfig: entityName = _tableName + "VUE方法配置"; fileTypeName = ".txt"; break; case FileType.VUEFile: entityName = modulelogo; fileTypeName = ".vue"; break; } if (!Directory.Exists(fileFolderPath)) { Directory.CreateDirectory(fileFolderPath); } string filePath = fileFolderPath + "\\" + entityName + fileTypeName; using (StreamWriter outfile = new StreamWriter(filePath, false, Encoding.GetEncoding("UTF-8"))) { outfile.Write(_code); } return true; } } }