[Codeausschnitt] Beim Lesen der JSON-Konfigurationsdatei des C#-Programms wird die Standardkonfigurationsdatei neu erstellt, wenn in der Konfigurationsdatei ein Fehler auftritt

Lesen Sie die Konfigurationsdatei und erstellen Sie im Fehlerfall eine Standarddatei

Lesen Sie die Konfigurationsdatei und erstellen Sie eine neue Konfigurationsdatei mit Standardwerten, wenn in der Konfigurationsdatei ein Fehler vorliegt.
Die Datei befindet sich in der Datei TitlePictureConfigInfo.json im exe-Verzeichnis des Programms.

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);
        }

Wenn in der Konfigurationsdatei ein Fehler auftritt, wird die Standardkonfigurationsdatei neu erstellt.


        /// <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);

        }

Das Objekt der Konfigurationsdatei verfügt über ein weiteres Attribut für jedes Element, das Sie konfigurieren möchten, und es muss ein Standardwert angegeben werden.

   /// <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