当前位置: 首页 > news >正文

C#对INI配置文件进行读写操作方法

#region 读写ini配置文件/// <summary>/// 对INI文件进行读写/// </summary>class INIHelper{/// <summary>/// 从INI文件中读取数据/// </summary>/// <param name="filePath">INI文件的全路径</param>/// <param name="rootValue">根节点值,例如根节点[URLConfig]的值为:URLConfig</param>/// <param name="key">根节点下的键,例如url</param>/// <param name="defValue">当标记值未设定或不存在时的默认值</param>/// <returns></returns>public static string ReadFromINI(string filePath, string rootValue, string key, string defValue = ""){StringBuilder sb = new StringBuilder(1024);GetPrivateProfileString(rootValue, key, defValue, sb, 1024, filePath);return sb.ToString();}/// <summary>/// 对INI文件进行写入操作/// </summary>/// <param name="filePath">INI文件的全路径</param>/// <param name="rootValue">根节点值,例如根节点[URLConfig]的值为:URLConfig</param>/// <param name="key">根节点下的键,例如url</param>/// <param name="newVal">想要修改的内容</param>/// <returns></returns>public static void WriteToINI(string filePath, string rootValue, string key, string newVal){WritePrivateProfileString(rootValue, key, newVal, filePath);}/// <summary>/// 对INI文件进行读取操作/// </summary>/// <param name="IpAppName">表示INI文件内部根节点的值</param>/// <param name="IpKeyName">表示根节点下子标记的值</param>/// <param name="IpDefault">表示当标记值未设定或不存在时的默认值</param>/// <param name="IpReturnString">返回读取节点的值</param>/// <param name="nSize">读取的节点内容的最大容量</param>/// <param name="IpFileName">文件的全路径</param>/// <returns></returns>[System.Runtime.InteropServices.DllImport("kernel32")]static extern int GetPrivateProfileString(string IpAppName, string IpKeyName, string IpDefault, StringBuilder IpReturnString, int nSize, string IpFileName);/// <summary>/// 对INI文件进行写入操作/// </summary>/// <param name="mpAppName">INI文件内部根节点的值</param>/// <param name="mpKeyName">将要修改的标记名称</param>/// <param name="mpDefault">想要修改的内容</param>/// <param name="mpFileName">INI文件的全路径</param>/// <returns></returns>[System.Runtime.InteropServices.DllImport("kernel32")]static extern long WritePrivateProfileString(string mpAppName, string mpKeyName, string mpDefault, string mpFileName);}#endregion

调用方法:

例如config.ini文件里面内容为:

[URLConfig]

url = www.csdn.net

url2= /baike/

url3= /map/

读配置文件:

string filePath = System.Environment.CurrentDirectory + @"/config.ini";  //设置config的绝对路径string url = INIHelper.ReadFromINI(filePath, "URLConfig", "url").Replace(" ", "");

写配置文件:

 string filePath = System.Environment.CurrentDirectory + @"/config.ini";  //设置config的绝对路径
INIHelper.WriteToINI(filePath, "URLConfig", "Url", "www.eastcoms.com");

相关文章:

C#对INI配置文件进行读写操作方法

#region 读写ini配置文件/// <summary>/// 对INI文件进行读写/// </summary>class INIHelper{/// <summary>/// 从INI文件中读取数据/// </summary>/// <param name"filePath">INI文件的全路径</param>/// <param name"…...

华为鸿蒙内核成为HarmonyOS NEXT流畅安全新基座

HDC2024华为重磅发布全自研操作系统内核—鸿蒙内核&#xff0c;鸿蒙内核替换Linux内核成为HarmonyOS NEXT稳定流畅新基座。鸿蒙内核具备更弹性、更流畅、更安全三大特征&#xff0c;性能超越Linux内核10.7%。 鸿蒙内核更弹性&#xff1a;元OS架构&#xff0c;性能安全双收益 万…...

请求响应(学习笔记)

请求响应 文章目录 请求响应请求Postman简单参数实体参数数组集合参数数组参数集合参数 日期参数JSON参数路径参数 响应响应数据统一响应结果 分层解耦三层架构分层解耦IOC & DI 入门IOC详解DI详解 请求响应&#xff1a; 请求(HttpServeltRequest)&#xff1a;获取请求数据…...

JavaScript核心语法(5)

这篇文章讲一下ES6中的核心语法&#xff1a;扩展运算符和模块化。 目录 1.扩展运算符 数组中的扩展运算符 基本用法 合并数组 对象中的扩展运算符 基本用法 合并对象 与解构赋值结合使用 数组解构中的剩余元素 对象解构中的剩余属性 2.模块化 基本概念 1.扩展运算符…...

2024年第15届蓝桥杯C/C++组蓝桥杯JAVA实现

目录 第一题握手&#xff0c;这个直接从49累加到7即可&#xff0c;没啥难度&#xff0c;后面7个不握手就好了&#xff0c;没啥讲的&#xff0c;(然后第二个题填空好难&#xff0c;嘻嘻不会&#xff09; 第三题.好数​编辑 第四题0R格式 宝石组合 数字接龙 最后一题:拔河 第…...

MongoDB 和 Redis 是两种不同类型的数据库比较

MongoDB 和 Redis 是两种不同类型的数据库&#xff0c;设计目标和应用场景各有侧重&#xff0c;因此性能对比需要结合具体需求场景进行评估。 1. MongoDB 性能特点 类型: 文档型数据库&#xff08;NoSQL&#xff09;。适合场景: 复杂查询&#xff1a;支持丰富的查询语法和索引…...

CLIP-Adapter: Better Vision-Language Models with Feature Adapters 论文解读

abstract 大规模对比视觉-语言预训练在视觉表示学习方面取得了显著进展。与传统的通过固定一组离散标签训练的视觉系统不同&#xff0c;(Radford et al., 2021) 引入了一种新范式&#xff0c;该范式在开放词汇环境中直接学习将图像与原始文本对齐。在下游任务中&#xff0c;通…...

Spring Boot 开发环境搭建详解

下面安装spring boot的详细步骤&#xff0c;涵盖了从安装 JDK 和 Maven 到创建和运行一个 Spring Boot 项目的全过程。 文章目录 1. 安装 JDK步骤 1.1&#xff1a;下载 JDK步骤 1.2&#xff1a;安装 JDK步骤 1.3&#xff1a;配置环境变量 2. 安装 Maven步骤 2.1&#xff1a;下载…...

网络安全中的数据科学如何重新定义安全实践?

组织每天处理大量数据&#xff0c;这些数据由各个团队和部门管理。这使得全面了解潜在威胁变得非常困难&#xff0c;常常导致疏忽。以前&#xff0c;公司依靠 FUD 方法&#xff08;恐惧、不确定性和怀疑&#xff09;来识别潜在攻击。然而&#xff0c;将数据科学集成到网络安全中…...

安装数据库客户端工具

如果没有勾选下面的&#xff0c;可以运行下面的两个命令 红框为自带数据库 新建数据库 右键运行mysql文件&#xff0c;找到数据库&#xff0c;并刷新...

GoogleTest做单元测试

目录 环境准备GoogleTest 环境准备 git clone https://github.com/google/googletest.git说cmkae版本过低了&#xff0c;解决方法 进到googletest中 cmake CMakeLists.txt make sudo make installls /usr/local/lib存在以下文件说明安装成功 中间出了个问题就是&#xff0c;…...

深入解析 EasyExcel 组件原理与应用

✨深入解析 EasyExcel 组件原理与应用✨ 官方&#xff1a;EasyExcel官方文档 - 基于Java的Excel处理工具 | Easy Excel 官网 在日常的 Java 开发工作中&#xff0c;处理 Excel 文件的导入导出是极为常见的需求。 今天&#xff0c;咱们就一起来深入了解一款非常实用的操作 Exce…...

JSON数据转化为Excel及数据处理分析

在现代数据处理中&#xff0c;JSON&#xff08;JavaScript Object Notation&#xff09;因其轻量级和易于人阅读的特点而被广泛使用。然而&#xff0c;有时我们需要将这些JSON数据转化为Excel格式以便于进一步的分析和处理。本文将介绍如何将JSON数据转化为Excel文件&#xff0…...

(计算机网络)期末

计算机网络概述 物理层 信源就是发送方 信宿就是接收方 串行通信--一次只发一个单位的数据&#xff08;串行输入&#xff09; 并行通信--一次可以传输多个单位的数据 光纤--利用光的反射进行传输 传输之前&#xff0c;要对信源进行一个编码&#xff0c;收到信息之后要进行一个…...

【AI技术赋能有限元分析应用实践】将FEniCS 软件安装在Ubuntu22.04

FEniCS 完整介绍 FEniCS 是一个开源的计算工具包,专门用于解决偏微分方程(PDE)的建模和求解。它以灵活的数学抽象和高效的计算性能著称,可以让用户使用高层次的数学表达来定义问题,而无需关注底层的数值实现细节。 具体来看,FEniCS 是一个开源的高性能计算工具包,用于…...

快速识别模型:simple_ocr,部署教程

快速识别图片中的英文、标点符号、数学符号、Emoji, 模型会输出图片中文字行的坐标位置、最低得分、识别结果。当前服务用到的模型&#xff1a;检测模型、数字识别、英文符号识别。 一、部署流程 1.更新基础环境 apt update2.安装miniconda wget https://repo.anaconda.com/…...

【C/C++】数据库链接入门教程:从零开始的详细指南!MySQL集成与操作

文章目录 环境配置&#xff1a;搭建开发环境的基础步骤2.1 安装MySQL数据库2.2 配置C/C开发环境2.3 下载并安装MySQL Connector/C 基础操作&#xff1a;实现C/C与MySQL的基本交互3.1 建立数据库连接3.2 执行SQL语句3.3 处理查询结果 进阶技巧&#xff1a;提升数据库操作效率与安…...

C#中面试的常见问题005

1、重载和重写 重载&#xff08;Overloading&#xff09; 重载是指在同一个类中定义多个同名方法&#xff0c;但参数列表不同&#xff08;参数的数量、类型或顺序不同&#xff09;。返回类型可以相同也可以不同。重载方法允许你根据传入的参数类型和数量来调用不同的方法。 …...

使用Redis生成全局唯一id

为了生成一个符合要求的分布式全局ID&#xff0c;我们可以使用 StringRedisTemplate 来实现。这个ID由三部分组成&#xff1a; 符号位&#xff08;1 bit&#xff09;&#xff1a;始终为0&#xff0c;表示正数。时间戳&#xff08;31 bit&#xff09;&#xff1a;表示从某个起始…...

pnpm:包管理的新星,平替 npm 和 yarn

​ pnpm&#xff0c;一个老牌的 node.js 包管理器&#xff0c;支持 npm 的所有功能&#xff0c;完全足以用来替代 npm。它采用全局存储&#xff0c;每个项目内部使用了硬链接&#xff0c;所以很省空间&#xff0c;安装速度快。 本文介绍下 pnpm 的基本概念&#xff0c;安装、…...

Android调起系统分享图片到其他应用

Android调起系统分享图片到其他应用 有时候分享不想接第三方的&#xff0c;其实如果你的分享要求不是很高&#xff0c;调系统的分享也是可以的。 一、思路&#xff1a; 用intent.action Intent.ACTION_SEND 二、效果图&#xff1a; 三、关键代码&#xff1a; //这个是分享…...

详解Qt QBuffer

文章目录 **QBuffer 的详解****前言****QBuffer 是什么&#xff1f;****QBuffer 的主要用途****构造函数****主要成员函数详解****1. open()****原型&#xff1a;****作用&#xff1a;****参数&#xff1a;****返回值&#xff1a;****示例代码&#xff1a;** **2. write()****原…...

Python基础学习-11函数参数

1、"值传递” 和“引用传递” 1&#xff09;不可变的参数通过“值传递”。比如整数、字符串等 2&#xff09;可变的参数通过“引用参数”。比如列表、字典。 3&#xff09;避免可变参数的修改 4&#xff09;内存模型简介 2、函数参数类型 1&#xff09; def func() #无参…...

GTK#框架让C# Winform程序跨平台运行

在软件开发领域&#xff0c;跨平台能力是一个重要的考量因素。对于C#开发者来说&#xff0c;Winform是构建桌面应用的强大工具&#xff0c;但原生Winform只支持Windows平台。幸运的是&#xff0c;GTK#框架的出现让C# Winform程序跨平台运行成为可能。本文将详细介绍如何使用GTK…...

在Kubernetes使用CronJob实现定时删除指定天数外的文件(我这里使用删除备份mysql数据库文件为例)

文章目录 一、代码使用方式1、golang代码2、使用方法二、容器镜像使用方式1、制作镜像2、我公开的镜像3、使用方法一、代码使用方式 1、golang代码 vim cleanfile.go package mainimport ("flag""fmt""io/ioutil""os""path/fi…...

使用 Elastic 收集 Windows 遥测数据:ETW Filebeat 输入简介

作者&#xff1a;来自 Elastic Chema Martinez 在安全领域&#xff0c;能够使用 Windows 主机的系统遥测数据为监控、故障排除和保护 IT 环境开辟了新的可能性。意识到这一点&#xff0c;Elastic 推出了专注于 Windows 事件跟踪 (ETW) 的新功能 - 这是一种强大的 Windows 原生机…...

力扣-位运算-4【算法学习day.44】

前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程&#xff08;例如想要掌握基础用法&#xff0c;该刷哪些题&#xff1f;&#xff09;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关键点&#xff0c;力扣上的大佬们的题解质量是非…...

Stable Diffusion 3详解

&#x1f33a;系列文章推荐&#x1f33a; 扩散模型系列文章正在持续的更新&#xff0c;更新节奏如下&#xff0c;先更新SD模型讲解&#xff0c;再更新相关的微调方法文章&#xff0c;敬请期待&#xff01;&#xff01;&#xff01;&#xff08;本文及其之前的文章均已更新&…...

c#异步编程(async/await)

注&#xff1a;下文摘自ChatGPT&#xff0c;总结与案例都非常完善&#xff0c;可以快速理解并应用 0&#xff1a;使用场景 在winform界面程序中&#xff0c;在ui操作中涉及到一些耗时的等待操作&#xff0c;使用线程自己处理已经显得力不从心&#xff0c;如何能更好的实现&am…...

TCP/IP学习笔记

TCP\IP从实际应用的五层结构开始&#xff0c;自顶而下的去分析每一层。 TCP/IP五层架构概述 学术上面是TCP/IP四层架构&#xff0c;OSI/ISO是七层架构&#xff0c;实际中使用的是TCP/IP五层架构。 数据链路层 ICMP数据包分析 Wireshark抓包分析ICMP协议_wireshark抓ping包分析…...

写小说赚钱的网站/如何在百度搜索排名靠前

一、现象&#xff1a;直接用的方式把一个对象赋值给另一个对象&#xff0c;会导致修改新对象时&#xff0c;原对象也发生变化 var obj1 {name: 1111}; var obj2 obj1; obj2.name 2222; console.log(obj1.name); //2222 二、原因&#xff1a;JavaScript 中对象的赋值是默认引…...

小程序怎么放在桌面/天津网站建设优化

下面是我的github&#xff0c;首页后面的教程按照这个来的。https://github.com/wangsrGit119​github.com创建同用户名仓库看下图&#xff0c;就是我的用户名同名仓库创建过程&#xff0c;因为之前创建了的所以提示已存在注意点&#xff1a;1.勾选public 2.勾选 Initialize th…...

淘宝联盟网站建设不完整/上海哪家优化公司好

突然感觉自己菜到不能再菜了&#xff0c;写OJ也有一年了&#xff0c;DP没用过&#xff0c;BFS一点没看&#xff0c;DFS跟没学过一样&#xff0c;现在模拟都模拟不过了&#xff0c;看看别的学院别的学校的大佬们&#xff0c;自己天天自闭也没学多少东西&#xff0c;看来还是不够…...

找阿里巴巴购买做网站的软件/关于进一步优化落实疫情防控措施

图是要求的输出范例程序要求输入一个大于等于5的奇数n然后输出一个和示例图类似的特殊蛇形矩阵 中心是0然后向外展开要求是不能用数组和stdio.h以外的lib已经想了整整一下午了 完全没有任何思路.求大神帮帮忙想一下思路,不用写代码,帮忙想想思路就行.P.S. 若覺得我的答案不佳或…...

做英语真题的网站/舆情分析报告案例

废话前后两千万&#xff0c;拍照更清晰。大家好&#xff0c;这里是OPPO R11独家冠名赞助播出的大型情感类电视连续剧《Android高德之旅》&#xff0c;我是主持人大公爵。(开篇占位)简介这篇文章来讲个简单的&#xff0c;行政区划搜索。api极其简单&#xff0c;只需要一个行政区…...

网站建设排行公司/seo优化平台

导读Dutree是Durep和Tree的组合。Durep用图表创建磁盘使用情况报告&#xff0c;这使我们能够确定哪些目录使用了最多的空间。尽管durep可以产生类似于du的文本输出&#xff0c;但其真正的功能是能够将报告存储在文件中。Tree是目录显示程序&#xff0c;它以树状结构在终端上递归…...