using ControlzEx.Standard; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.IO; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; using TeamAAS_VP; using TeamAAS_VP.Models; using TeamAAS_VP.Resources.Languages; using static Org.BouncyCastle.Math.EC.ECCurve; namespace TeamAAS_VP.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(string.Format(Lang.文件不存在0, 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(string.Format(Lang.文件不存在0, path)); } } /// /// 检测文件名是否合规 /// /// /// public static bool CheckFileName(string filename) { // // 定义文件名合法性的正则表达式 string pattern = @"^[^-\\/:*?""<>|\x00-\x1F]*$"; // 匹配不包含非法字符的文件名 // 使用正则表达式进行匹配 if (Regex.IsMatch(filename, pattern)) { //Console.WriteLine("输入的名称符合文件名命名规则,并且不包含非法字符。"); return true; } else { //Console.WriteLine("输入的名称不符合文件名命名规则,或者包含非法字符。"); return false; } } } }