详情介绍:http://zh.wikipedia.org/wiki/INI%E6%96%87%E4%BB%B6

示例:

下面是一个虚拟的程序,其INI文件有两个小节,前面的小节是用来设置拥有者的信息,而后面的小节是用来设置数据库的位置。前面的注解记载谁最后编辑此文件,而后面的注解记录为何不使用域名而是使用IP地址

[owner]
name=John Doe
organization=Acme Products [database]
server=192.0.2.42 ; use IP address in case network name resolution is not working
port=143
file = "acme payroll.dat"

IniHelper 类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices; namespace SingleStore.Code
{
public class IniHelper
{ // 声明INI文件的写操作函数 WritePrivateProfileString()
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); // 声明INI文件的读操作函数 GetPrivateProfileString()
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section, string key, string def, System.Text.StringBuilder retVal, int size, string filePath); //获取ini文件的路径
private string sPath = null;
public IniHelper(string path)
{
this.sPath = path;
} /// <summary>
/// 写入INI文件
/// </summary>
/// <param name="section">配置节</param>
/// <param name="key">键名</param>
/// <param name="value">键值</param>
public void WriteValue(string section, string key, string value)
{
// section=配置节,key=键名,value=键值,path=路径
WritePrivateProfileString(section, key, value, sPath);
} /// <summary>
/// 读取INI文件配置节下的键
/// </summary>
/// <param name="section"></param>
/// <param name="key"></param>
/// <returns></returns>
public string ReadValue(string section, string key)
{
// 每次从ini中读取多少字节
StringBuilder temp = new StringBuilder();
// section=配置节,key=键名,temp=上面,path=路径
GetPrivateProfileString(section,key,"",temp,,sPath);
return temp.ToString();
}
}
}

Form窗体调用

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using SingleStore.Code; namespace SingleStore
{
public partial class Login : Form
{
public Login()
{
InitializeComponent(); string IniPath = Directory.GetCurrentDirectory(); //写入ini
IniHelper ini = new IniHelper(IniPath + "/config.ini");
ini.WriteValue("StoreShop", "userName", "admin");
ini.WriteValue("StoreShop", "pwd", "admin");
ini.WriteValue("StoreShop", "isRePwd", ""); //读取ini
string ispwd = ini.ReadValue("StoreShop", "isRePwd");
string xis = "";
if (ispwd == "")
{
xis = "是";
}
else
{
xis = "否";
}
MessageBox.Show("用户名:" + ini.ReadValue("StoreShop", "userName") + "\n" +
"密码:" + ini.ReadValue("StoreShop", "pwd") + "\n" +
"是否记住密码:" + xis);
}
}
}

读写INI文件操作类的更多相关文章

  1. Ini文件操作类

    /// <summary> /// Ini文件操作类 /// </summary> public class Ini { // 声明INI文件的写操作函数 WritePriva ...

  2. C#读写ini文件操作

    ini文件,是windows操作系统下的配置文件,ini文件是一种按照特点方式排列的文本文件,它的构成分为三部分,结构如下: [Section1] key 1 = value2 key 1 = val ...

  3. C# 简单读写ini文件帮助类 INIHelp

    软件里需要读取一些初始化信息, 决定用ini来做,简单方便. 于是查了一写代码,自己写了一个帮助类. INI文件格式是某些平台或软件上的配置文件的非正式标准, 以节(section)和键(key)构成 ...

  4. c# 利用动态库DllImport("kernel32")读写ini文件(提供Dmo下载)

    c# 利用动态库DllImport("kernel32")读写ini文件 自从读了设计模式,真的会改变一个程序员的习惯.我觉得嘛,经验也可以从一个人的习惯看得出来,看他的代码编写习 ...

  5. C# ini配置文件操作类

    /// <summary> /// INI文件操作类 /// </summary> public class IniFileHelper { /// <summary&g ...

  6. (Unity)XML文件读写与IO文件操作类使用介绍

    using System.Xml;                //xml文件操作命名空间 #region 写入操作 void WriteXMLFile(string _fileName) { Xm ...

  7. C# Ini文件操作

    在开源中国看到的操作ini文件的,写的还不看,留着以后用 using System; using System.IO; using System.Runtime.InteropServices; us ...

  8. 读写ini文件

    C# 使用文件流来读写ini文件 背景 之前采用ini文件作为程序的配置文件,觉得这种结构简单明了,配置起来也挺方便.然后操作方式是通过WindowsAPI,然后再网上找到一个基于WindowsAPI ...

  9. C#中读写INI文件

    C#中读写INI文件 c#的类没有直接提供对ini文件的操作支持,可以自己包装win api的WritePrivateProfileString和GetPrivateProfileString函数实现 ...

随机推荐

  1. PHP留言板的实现思路

    本文实例为大家分享了php留言板的实现思路,供大家参考,具体内容如下:1.创建一个存放留言信息的文件名2.获取表单中的数据给一个变量3.判断文件的时候存在4.对文件执行写的操作,在这之前,注意打开文件 ...

  2. hive 入门

    hive-site.xml 配置 <configuration> <property> <name>javax.jdo.option.ConnectionURL&l ...

  3. 使用ansible安装lnmp

    主机互信 生成密钥对,并将公钥发送给其他需要操作的主机 ssh-keygen -t rsa cd /root/.ssh ssh-copy-id -i id_rsa.pub root@192.168.1 ...

  4. 『Python题库 - 填空题』151道Python笔试填空题

    『Python题库 - 填空题』Python笔试填空题 part 1. Python语言概述和Python开发环境配置 part 2. Python语言基本语法元素(变量,基本数据类型, 基础运算) ...

  5. docker swarm的应用----docker集群的构建

    一.docker安装 这里我们安装docker-ce 的18.03版本 yum    -y remove docker  删除原有版本 #安装依赖包 [root@Docker ~]# yum -y i ...

  6. A1092

    可输入内容为0-9,a-z,A-Z. 输入: 第一行输入任意字符串: 第二行输入期望字符串. 输出: 如果第一行包含了所有期望字符串,输出yes和多余字符个数: 如果第一行不能完全包含期望字符串,输出 ...

  7. vim 智能提示插件 javacomplete安装

    *** 从https://github.com/vim-scripts/javacomplete网站中下载javacomplete *** 新建javacomplete-master文件夹,将java ...

  8. 【NAS】NFS中的fsid如何理解

    最近在NAS项目中遇到对NFS的fsid有点疑惑.就深入了解一番 在nfs的配置文件/etc/exports中,fsid作为一个共享参数,具体含义如下: 格式: fsid=num|root|uuid ...

  9. 3551: [ONTAK2010]Peaks加强版

    3551: [ONTAK2010]Peaks加强版 https://www.lydsy.com/JudgeOnline/problem.php?id=3551 分析: kruskal重构树 +  倍增 ...

  10. netty之心跳机制

    1.心跳机制,在netty3和netty5上面都有.但是写法有些不一样. 2.心跳机制在服务端和客户端的作用也是不一样的.对于服务端来说:就是定时清除那些因为某种原因在一定时间段内没有做指定操作的客户 ...