【代码片段】C#程序Json 配置文件读取,当配置文件出错重新创建默认的配置文件

读取配置文件,当出错的时候创建默认的文件

读取配置文件,如果配置文件出错就用默认值创建一个新的的配置文件。
文件在程序的exe目录TitlePictureConfigInfo.json文件中。

using Newtonsoft.Json;
using System;

        private const string defultconfigpath = "/TitlePictureConfigInfo.json";//默认的配置文件名称


        /// <summary>
        /// 初始化程序配置文件
        /// </summary>
        private void InitTitlePictureConfigInfo()
        {
            string programTitleFilePath = Application.StartupPath + defultconfigpath;
            if (System.IO.File.Exists(programTitleFilePath))//判断文件是否存在
            {
                string readTileFileStr1 = System.IO.File.ReadAllText(programTitleFilePath);
                titlePictureConfigInfo = JsonConvert.DeserializeObject<TitlePictureConfigInfo>(readTileFileStr1);
                if (titlePictureConfigInfo == null)
                {
                    SetDefaultConfig();
                }
                if (titlePictureConfigInfo.Btn_EnterSystem_FontColor == null)
                {
                    SetDefaultConfig();
                }

            }
            else
            {
                SetDefaultConfig();
            }

            string readTileFileStr = System.IO.File.ReadAllText(programTitleFilePath);
            titlePictureConfigInfo = JsonConvert.DeserializeObject<TitlePictureConfigInfo>(readTileFileStr);
        }

当配置文件出错就会重新创建默认的配置文件


        /// <summary>
        /// 写入默认的配置文件
        /// </summary>
        private void SetDefaultConfig()
        {
            TitlePictureConfigInfo defultConfig = new TitlePictureConfigInfo();
            string defuleString = JsonConvert.SerializeObject(defultConfig);
            string path = Application.StartupPath + defultconfigpath;
            System.IO.File.WriteAllText(path, defuleString);

        }

配置文件的对象,每多个想要配置的 项目就多一个属性,并需要给到默认值

   /// <summary>
    /// 配置文件的对象
    /// </summary>
    internal class TitlePictureConfigInfo
    {
        /// <summary>
        /// 内容
        /// </summary>
        public string Title_TitleText = "XXXX_系统";

        /// <summary>
        /// 字体
        /// </summary>
        public string Title_Fonts = "宋体";

        /// <summary>
        /// 字体大小
        /// </summary>
        public int Title_FontSize = 40;

        /// <summary>
        /// 字体颜色
        /// </summary>
        public string Title_FontColor = "#FFFFFF";


        //---------------------------------------------------------------------
        /// <summary>
        /// 进入系统按钮上显示的文字
        /// </summary>
        public string Btn_EnterSystem_Text = "进入系统";


        /// <summary>
        /// 按钮字体
        /// </summary>
        public string Btn_EnterSystem_Font = "宋体";


        /// <summary>
        /// 按钮字体大小
        /// </summary>
        public int Btn_EnterSystem_FontSize = 9;


        /// <summary>
        /// 按钮字体颜色
        /// </summary>
        public string Btn_EnterSystem_FontColor = "#FFFFFF";

        //-------------------------------------------------------------------


        /// <summary>
        /// 目标程序路径
        /// </summary>
        public string TargetProcessPath = @"C:\Windows\System32\calc.exe";

        /// <summary>
        /// 图片的路径
        /// </summary>
        public string PictureBoxPath = "/pexels-stephan-seeber-1261728.png";



    }




猜你喜欢

转载自blog.csdn.net/GoodCooking/article/details/132847372
今日推荐