C# 读取文件中的配置信息

文章目录

      • 定义
      • 使用
        • 文件格式
        • 代码

C#读取文件并处理;C# 读取文件中的配置信息。
在有的程序中,需要从本地文件中读取配置信息,以进行初始化。

定义

定义一个静态函数来获取文件信息。StreamReader 类。

/// <summary>
/// 读取参数文件
/// </summary>
/// <param name="fPath">文件的路径</param>
/// <returns>字典格式的参数列表</returns>
public static Dss GetParams(string fPath)
{if (File.Exists(fPath))                         // 检验路径是否存在{Dss d = new Dss();                          // 待使用数据using (StreamReader sr = new StreamReader("Config.txt")) // 创建StreamReader对象读取文件{string row = null;                          // 按行读while (!((row = sr.ReadLine()) is null))    // 只要还有数据,就一直读{if (row.StartsWith("//")) continue;     // 注释部分                   row = row.Trim(new char[] { '\r', '\n', ',', ' ' });    // 删除头尾无关数据row = row.Replace(" ", "");                             // 删除空格字符//将字符串str以空格为分隔符分为几部分,分别装到字符串数组segs中string[] segs = row.Split('=');// 下面检验是否为无效数据(key-value可能为空)if (segs.Length < 2 || string.IsNullOrEmpty(segs[0]) || string.IsNullOrEmpty(segs[1])) continue;d[segs[0]] = segs[1];                   // 添加进字典}return d;}}return null;
}

使用

文件格式

本程序操作的文件格式如下:

参数为: key=value
注释以//打头。
按行划分

代码
public static void Main()
{// 打开文件,文件位置为项目的bin/debug目录下。Dss prms = GetParams("Config.txt");if (prms != null){foreach (var item in prms)		// 打印参数列表{Console.WriteLine($"{item.Key}={item.Value}");}}Console.ReadLine();
}

输出:

ServerName=Wlb
DataBaseName=Test

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/450083.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记一次 Android CPU高使用率排查

文章目录 背景排查高占用的进程adb shelltoptop -b -H -n 1 | grep 29337 (打印各线程 cpu使用详情)kill -3 29337 (生成trace文件)adb pull /data/anr /Users/gerry.liang/Desktop定位问题 补充说明: 背景 测试同学反馈我们的App CPU使用率 90% 居高不下,经过一番艰难的排查后…

【问题解决】VSCode1.86.0版+拓展Remote-SSHv0.108 无法连接到VSCode服务器(VSCode无法远程连接到Linux)

作者在下午五点左右照常通过VSCode远程连接Ubuntu主机编写代码&#xff0c;突然在一次重启VSCode后&#xff0c;不管如何尝试都连接不到Linux主机&#xff0c;首先自己尝试了重启电脑&#xff0c;无效&#xff1b;然后尝试通过其他软件&#xff08;XShell和Xftp&#xff09;远程…

鸿蒙应用开发-自定义可删除列表弹窗

功能介绍&#xff1a; 自定义列表弹窗&#xff0c;可以对弹窗的列表点击删除&#xff0c;参考文档创建列表&#xff0c;自定义弹窗文档自定义弹窗&#xff08;CustomDialog&#xff09;。 知识点&#xff1a; 熟悉对List控件的使用。熟悉对List点击删除熟悉自定义弹窗。 使…

算法:阿里巴巴找黄金宝箱(II)

一、算法描述 题目描述 一贫如洗的樵夫阿里巴巴在去砍柴的路上&#xff0c;无意中发现了强盗集团的藏宝地&#xff0c;藏宝地有编号从0-N的箱子&#xff0c; 每个箱子上面贴有箱子中藏有金币Q的数量。 从金币数量中选出一个数字集合&#xff0c; 并销毁贴有这些数字的每个箱子&…

20240203在WIN10下安装Anaconda

20240203在WIN10下安装Anaconda 2024/2/3 20:45 缘起&#xff1a;最近学习stable-diffusion-webui.git&#xff0c;在Ubuntu20.04.6下配置SD成功。 不搞精简版本&#xff1a;Miniconda了。直接上Anacoda&#xff01; 百度搜索&#xff1a;Anaconda 下载 https://www.anaconda.c…

Python tkinter (11) —— Frame控件

本文主要是Python tkinter Frame框架控件介绍及使用简单示例。 tkinter系列文章 python tkinter窗口简单实现 Python tkinter (1) —— Label标签 Python tkinter (2) —— Button标签 Python tkinter (3) —— Entry标签 Python tkinter (4) —— Text控件 Python tkint…

【运维备忘录】之 Curl 命令

运维人员不仅要熟悉操作系统、服务器、网络等只是&#xff0c;甚至对于开发相关的也要有所了解。很多运维工作者可能一时半会记不住那么多命令、代码、方法、原理或者用法等等。这里我将结合自身工作&#xff0c;持续给大家更新运维工作所需要接触到的知识点&#xff0c;希望大…

java数据结构与算法刷题-----LeetCode15. 三数之和

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 解题思路 和LeetCode1.两数之和一样&#xff0c;但是这道题边界条件更多。…

2021-10-18 51蛋骗鸡数码管显示0-F每6个切换循环

缘由我的单片机流水灯程序不知道为什么无法很好的显示? - 24小时必答区 #include "REG52.h" sbit K1 P3^0; sbit K2 P3^1; sbit K3 P3^2; sbit K4 P3^3; sbit bpP3^4; bit k1,wk0; unsigned char code SmZiFu[]{63,6,91,79,102,109,125,7,127,111,119,124,57,94…

LabVIEW汽车自燃监测预警系统

LabVIEW汽车自燃监测预警系统 随着汽车行业的飞速发展&#xff0c;汽车安全问题日益受到公众的关注。其中&#xff0c;汽车自燃现象因其突发性和破坏性&#xff0c;成为一个不可忽视的安全隐患。为了有效预防和减少自燃事故的发生&#xff0c;提出了LabVIEW的汽车自燃监测预警…

【Java程序设计】【C00240】基于Springboot的班级综合测评管理系统(有论文)

基于Springboot的班级综合测评管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的班级综合测评管理系统 本系统分为学生功能模块、管理员功能模块以及教师功能模块。 管理员功能模块&#xff1a;管理员功能…

Leetcode高频题:198打家劫舍1

题目链接力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目描述 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff0c;影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统&#xff0c;如果两间相…