using System.IO; namespace IStation.DAL { /// /// 文件辅助类 /// public class FileHelper { private const string _extension = ".txt";//文件扩展名 /// /// 查询数据文件夹路径 /// public static string GetDataPath() { var path = Path.Combine(LocalFileConfig.RootDirectory, "Data"); if (!Directory.Exists(path)) Directory.CreateDirectory(path); return path; } /// /// 查询工作文件夹路径 /// public static string GetWorkPath() { var dataPath = GetDataPath(); var workPath = Path.Combine(dataPath, LocalFileConfig.WorkFolder); if (!Directory.Exists(workPath)) Directory.CreateDirectory(workPath); return workPath; } /// /// 查询版本文件夹路径 /// public static string GetVersionsPath() { var workPath = GetWorkPath(); var projectPath = Path.Combine(workPath, LocalFileConfig.Versions); if (!Directory.Exists(projectPath)) Directory.CreateDirectory(projectPath); return projectPath; } /// /// 查询文件路径 /// public static string GetFilePath(string folderPath) where T : class { if (!Directory.Exists(folderPath)) Directory.CreateDirectory(folderPath); var objType = typeof(T); var fileName = Path.Combine(folderPath, objType.Name + _extension); return fileName; } /// /// 保存对象到文件中 /// public static void SaveObjectFile(string fileName, T t) where T : class { var str = JsonHelper.Object2FormatJson(t); File.WriteAllText(fileName, str); } /// /// 查询文件对象 /// public static T GetFileObject(string fileName) where T : class { if (!File.Exists(fileName)) return default; var str = File.ReadAllText(fileName); if (string.IsNullOrEmpty(str)) return default; return JsonHelper.Json2Object(str); } /// /// 查询ID /// public static long NextId() { return SnowflakeIdHelper.NextId(); } } }