iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#读写自定义的Config文件的实现方法
  • 589
分享到

C#读写自定义的Config文件的实现方法

2024-04-02 19:04:59 589人浏览 八月长安
摘要

目录一、前言二、添加config文件三、读写配置文件一、前言 在软件开发中,经常用到设置这样的功能,如果设置中的功能不多,用 JSON、XML 这样的数据结构存储非常的麻烦,一个字段

一、前言

软件开发中,经常用到设置这样的功能,如果设置中的功能不多,用 JSON、XML 这样的数据结构存储非常的麻烦,一个字段的读写,就要写大量的代码,例如 json 要写实体类才能进行读写,假设其中一个功能不用,要改的地方还真不少,使用 ini 这样的方式现在几乎没几个人用了,于是我决定用微软自带的Config文件方式。

于是搜索了一下自定义Config文件,发现网上大部分帖子都是读写 “软件名.exe.config” 文件,没什么用,和我设计需求不符合,于是我自己写了一个。

二、添加config文件

可以使用VS自带的添加功能,例如

当然也可以新建一个文本文档,然后改后缀名,再加入内容,都是一样的。

我在软件的根目录里新建了一个Config文件夹,就将配置文件放在这里面了

配置文件的名字,这里可以添加多个配置文件

配置文件内容如下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="COM1" value="我是一个串口号" />
  </appSettings>
</configuration>

三、读写配置文件

我们新建一个 winform 项目,然后新建一个 ConfigHelper.cs 类

using System.Configuration;
 
namespace Utils
{
    public class ConfigHelper
    {
        private string ConfigPath = string.Empty;
 
        /// <summary>
        /// 获取配置文件指定的Key
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public string GetConfigKey(string key)
        {
            Configuration ConfigurationInstance = ConfigurationManager.OpenMappedExeConfiguration(new ExeConfigurationFileMap()
            {
                ExeConfigFilename = ConfigPath
            }, ConfigurationUserLevel.None);
 
            if (ConfigurationInstance.AppSettings.Settings[key] != null)
                return ConfigurationInstance.AppSettings.Settings[key].Value;
            else
                return string.Empty;
        }
 
        /// <summary>
        /// 设置配置文件指定的Key,如果Key不存在则添加
        /// </summary>
        /// <param name="key"></param>
        /// <param name="vls"></param>
        /// <returns></returns>
        public bool SetConfigKey(string key, string vls)
        {
            try
            {
                Configuration ConfigurationInstance = ConfigurationManager.OpenMappedExeConfiguration(new ExeConfigurationFileMap()
                {
                    ExeConfigFilename = ConfigPath
                }, ConfigurationUserLevel.None);
 
                if (ConfigurationInstance.AppSettings.Settings[key] != null)
                    ConfigurationInstance.AppSettings.Settings[key].Value = vls;
                else
                    ConfigurationInstance.AppSettings.Settings.Add(key, vls);
 
                ConfigurationInstance.Save(ConfigurationSaveMode.Modified);
                ConfigurationManager.RefreshSection("appSettings");
                return true;
            }
            catch
            {
                return false;
            }
        }
 
 
        public ConfigHelper(string configPath)
        {
            ConfigPath = configPath;
        }
    }
}

上面的代码可以看到,我将配置文件的路径参数加入到了ConfigHelper的构造函数中去了,这样假设有个多个配置文件,直接实例化就好了。读写互相不相影响。

Form1 界面中我就添加了一个按钮,没有其他的控件,界面就不展示了,代码如下

using System;
using System.windows.FORMs;
using Utils;
 
namespace Test2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private ConfigHelper ConfigHelpers = null;
 
        private void Form1_Load(object sender, EventArgs e)
        {
            string configPath = Application.StartupPath + "\\Config\\SystemInfo.config";
            ConfigHelpers = new ConfigHelper(configPath);
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            //读取Key
            //string value = ConfigHelpers.GetConfigKey("COM1");
            //Console.WriteLine(value);
 
            //设置Key
            bool result = ConfigHelpers.SetConfigKey("游戏名", "XX信条");
 
            Console.WriteLine("执行完毕");
        }
    }
}

读取Key

string value = ConfigHelpers.GetConfigKey("COM1");

 设置Key

bool result = ConfigHelpers.SetConfigKey("游戏名", "XX信条");

到此这篇关于C# 读写自定义的Config文件的实现方法的文章就介绍到这了,更多相关C# 读写Config内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C#读写自定义的Config文件的实现方法

本文链接: https://www.lsjlt.com/news/164953.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#读写自定义的Config文件的实现方法
    目录一、前言二、添加config文件三、读写配置文件一、前言 在软件开发中,经常用到设置这样的功能,如果设置中的功能不多,用 Json、XML 这样的数据结构存储非常的麻烦,一个字段...
    99+
    2024-04-02
  • C#实现读写CSV文件的方法详解
    目录CSV文件标准文件示例RFC 4180简化标准读写CSV文件使用CsvHelper使用自定义方法总结项目中经常遇到CSV文件的读写需求,其中的难点主要是CSV文件的解析。本文会介...
    99+
    2024-04-02
  • C#读写文本文件(.txt)的方法实例
    读取txt文件 如果你要读取的文件内容不是很多,可以使用 File.ReadAllText(filePath) 或指定编码方式 File.ReadAllText(FilePath...
    99+
    2024-04-02
  • C#CSV文件读写的实现
    目录为什么要用csv文件一、DataTable数据写入CSV文件二、读取CSV文件到DataTable三、修改文件名称四、CSV文件的数据写入CSV是一种通用的、相对简单的文件格式,...
    99+
    2023-03-03
    C# CSV文件读写 C# CSV 读写
  • Springboot读取配置文件及自定义配置文件的方法
    1.创建maven工程,在pom文件中添加依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring...
    99+
    2023-05-30
    spring boot 配置文件
  • SpringBoot实现自定义配置文件提示的方法
    目录SpringBoot如何实现自定义配置文件提示1、编写一个配置类 2、引入自动提示插件 2.1、引入插件2.2、重新编译3、配置验证SpringBoot如何实...
    99+
    2024-04-02
  • C++文件的数据写入和文件的数据读取的方法实现
    目录一:没有数据,准备数据,写入文件二:读文件操作一:没有数据,准备数据,写入文件 1.main.cpp #include<iostream> using namespa...
    99+
    2024-04-02
  • Vue3 中自定义插件的实现方法
    目录1. Vue 插件2. 自定义插件2.1 基本用法2.2 加入组件2.3 加入指令2.4 provide & inject3. 小结最近在录 TienChin 项目,项目...
    99+
    2022-11-13
    Vue自定义插件 Vue3自定义插件
  • C#实现自定义圆角按钮的方法
    Winform中自带的button没有圆角属性,所以我们继承Button类,重写OnPaint事件来绘制圆角按钮。 1.绘制圆角按钮框需要用到系统自带的绘制方法:首先引入Gdi32....
    99+
    2024-04-02
  • C++、Qt分别读写xml文件的方法实例
    目录XML语法C++使用tinyxml读写xmlQt读写xml总结 XML语法 第一行是XML文档声明,<>内的代表是元素,基本语法如以下所示。C++常见的是使...
    99+
    2023-03-06
    c++读写xml文件 qt读写xml文件 qt读取xml
  • C语言读取写入ini配置文件的方法实现
    目录一、了解什么是INI文件?二、INI文件的格式三、解析上述文件四、测试如下一、了解什么是INI文件? ini 文件是Initialization File的缩写,即初始化文件,这...
    99+
    2024-04-02
  • SpringBoot实现自定义事件的方法详解
    目录简介步骤1:自定义事件步骤2:自定义监听器方案1:ApplicationListener方案2:SmartApplicationListener步骤3:注册监听器法1:@Comp...
    99+
    2024-04-02
  • C#读写xml文件的方法是什么
    这篇“C#读写xml文件的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#读写xml文件的方法是什么”文章吧。C...
    99+
    2023-07-05
  • C#读写xml文件的方法有哪些
    在C#中读写XML文件的方法有以下几种: 使用XmlDocument类:XmlDocument类是System.Xml命名空间中...
    99+
    2024-03-01
    C#
  • 使用C/C++读写.mat文件的方法详解
    目录一、创建工程并添加测试代码二、修改CmakeLists文件三、添加环境变量四、令人头秃的错误五、运行结果总结最近需要使用C++来处理matlab生成的数据, 参考了网上一些博客,...
    99+
    2024-04-02
  • c#中ini文件读写的方法是什么
    在C#中,可以使用System.IO命名空间下的StreamReader和StreamWriter类来读写INI文件。以下是一个简单...
    99+
    2024-03-11
    c#
  • C# CSV文件读写如何实现
    这篇文章主要介绍了C# CSV文件读写如何实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C# CSV文件读写如何实现文章都会有所收获,下面我们一起来看看吧。CSV是一种通用的、相对简单的...
    99+
    2023-07-05
  • C#怎么实现读写ini文件
    这篇文章主要介绍了C#怎么实现读写ini文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.创建一个C#项目2.创建一个ini文件在Debug目录下创建一个ini文件,写入...
    99+
    2023-06-28
  • C#如何实现读写CSV文件
    这篇文章主要介绍“C#如何实现读写CSV文件”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C#如何实现读写CSV文件”文章能帮助大家解决问题。CSV文件标准在介绍CSV文件的读写方法前,我们需要了解...
    99+
    2023-07-02
  • C#实现读取写入Json文件
    目录C#读取写入Json文件将数据写入Json文件中Json文件读取Json文件总结C#读取写入Json文件 /// <summary> /// 将序列化...
    99+
    2023-01-28
    C#读取写入Json C#读取Json文件 C#写入Json文件
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作