using LampInspectionMachine.Model; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; namespace LampInspectionMachine.Core { public static class FileHelper { /// /// 写入Json文件 /// /// 对象 /// 文件路径 public static void WriteJsonFile(object obj, string path) { if ( !Directory.Exists(Path.GetDirectoryName(path)) ) { Directory.CreateDirectory(Path.GetDirectoryName(path)); } using ( StreamWriter sw = new StreamWriter(path) ) { string json = JsonConvert.SerializeObject(obj, Formatting.Indented); sw.Write(JsonConvert.SerializeObject(obj, Newtonsoft.Json.Formatting.Indented)); } } /// /// 读取Json文件 /// /// 对象 /// 文件路径 /// /// public static T ReadJsonFile(string path) { if ( File.Exists(path) ) { string buffer; using ( StreamReader sr = new StreamReader(path) ) { buffer = sr.ReadToEnd(); } return JsonConvert.DeserializeObject(buffer); } else { throw new Exception($"文件不存在:[{path}]"); } } /// /// 写入文件 /// /// 对象 /// 文件路径 public static void WriteFile(string content, string path) { if ( !Directory.Exists(Path.GetDirectoryName(path)) ) { Directory.CreateDirectory(Path.GetDirectoryName(path)); } using ( StreamWriter sw = new StreamWriter(path) ) { sw.Write(content); } } /// /// 读取文件 /// /// /// /// public static string ReadFile(string path) { if ( File.Exists(path) ) { string buffer; using ( StreamReader sr = new StreamReader(path) ) { buffer = sr.ReadToEnd(); } return buffer; } else { throw new Exception($"文件不存在:[{path}]"); } } /// /// 读取软件设置参数 /// /// public static List ReadApplicationConfiguration() { try { if ( File.Exists(FilePath.ApplicationConfigurationPath) ) { var config = FileHelper.ReadJsonFile>(FilePath.ApplicationConfigurationPath); return config; } else { var config= new List(); FileHelper.WriteJsonFile(config, FilePath.ApplicationConfigurationPath); return config; } } catch ( Exception ) { return new List(); } } /// /// 保存软件设置参数 /// /// public static void SaveApplicationConfiguration(List config) { try { //config.DT = DateTime.Now; FileHelper.WriteJsonFile(config, FilePath.ApplicationConfigurationPath); } catch ( Exception ) { } } /// /// 检测文件名是否合规 /// /// /// public static bool CheckFileName(string filename) { // // 定义文件名合法性的正则表达式 string pattern = @"^[^-\\/:*?""<>|\x00-\x1F]*$"; // 匹配不包含非法字符的文件名 // 使用正则表达式进行匹配 if ( Regex.IsMatch(filename, pattern) ) { //Console.WriteLine("输入的名称符合文件名命名规则,并且不包含非法字符。"); return true; } else { //Console.WriteLine("输入的名称不符合文件名命名规则,或者包含非法字符。"); return false; } } } }