C#--使用json配置文件方法【读写Json,适合小项目】
1,DAL中添加帮助类JsonConfigHelper
using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; /* * 需要添加引用Newtonsoft.Json.dl */ namespace KobelcoReportDAL { public class JsonConfigHelper { private static Dictionary<string, string> configDic = new Dictionary<string, string>(); /// <summary> /// 读取配置信息 /// </summary> /// <param name="key"></param> /// <returns></returns> public static string ReadConfig(string key) { if (File.Exists("config.json") == false)//如果不存在就创建file文件夹 { FileStream f = File.Create("config.json"); f.Close(); } string s = File.ReadAllText("config.json"); try { configDic = JsonConvert.DeserializeObject<Dictionary<string, string>>(s); } catch { configDic = new Dictionary<string, string>(); } if (configDic != null && configDic.ContainsKey(key)) { return configDic[key]; } else { return string.Empty; } } /// <summary> /// 添加配置信息 /// </summary> /// <param name="key"></param> /// <param name="value"></param> public static void WriteConfig(string key, string value) { if (configDic == null) { configDic = new Dictionary<string, string>(); } configDic[key] = value; string s = JsonConvert.SerializeObject(configDic); File.WriteAllText("config.json", s); } /// <summary> /// 删除配置信息 /// </summary> /// <param name="key"></param> public static void DeleteConfig(string key) { if (configDic != null && configDic.ContainsKey(key)) { configDic.Remove(key); string s = JsonConvert.SerializeObject(configDic); File.WriteAllText("config.json", s); } } } }
2,读取配置文件【窗体加载的时候】
//【1】读取配置文件 filePath.RefFilePath = JsonConfigHelper.ReadConfig(this.txt_ReferenceFilePath.Name); filePath.MatchFilePath= JsonConfigHelper.ReadConfig(this.txt_MatchingFilePath.Name); filePath.AtlasDataFilePath= JsonConfigHelper.ReadConfig(this.txt_AtlasFilePath.Name); //【2】为控件赋值 this.txt_ReferenceFilePath.Text= filePath.RefFilePath; this.txt_MatchingFilePath.Text = filePath.MatchFilePath; this.txt_AtlasFilePath.Text = filePath.AtlasDataFilePath;
3,修改配置文件【修改保存按钮】
//修改配置文件 private void btn_modify_Click(object sender, EventArgs e) { JsonConfigHelper.WriteConfig(this.txt_ReferenceFilePath.Name, this.txt_ReferenceFilePath.Text); JsonConfigHelper.WriteConfig(this.txt_MatchingFilePath.Name, this.txt_MatchingFilePath.Text); JsonConfigHelper.WriteConfig(this.txt_AtlasFilePath.Name, this.txt_AtlasFilePath.Text); }
4,保存的配置文件位置