在C#中怎样读取INI文件

如题所述

C#对INI进行读写操作如下
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Runtime.InteropServices;

namespace Update
{
class IniFile
{
private string fileName;
[DllImport("kernel32")]
private static extern int GetPrivateProfileInt(
string lpAppName,// 指向包含 Section 名称的字符串地址
string lpKeyName,// 指向包含 Key 名称的字符串地址
int nDefault,// 如果 Key 值没有找到,则返回缺省的值是多少
string lpFileName
);
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(
string lpAppName,// 指向包含 Section 名称的字符串地址
string lpKeyName,// 指向包含 Key 名称的字符串地址
string lpDefault,// 如果 Key 值没有找到,则返回缺省的字符串的地址
StringBuilder lpReturnedString,// 返回字符串的缓冲区地址
int nSize,// 缓冲区的长度
string lpFileName
);
[DllImport("kernel32")]
private static extern bool WritePrivateProfileString(
string lpAppName,// 指向包含 Section 名称的字符串地址
string lpKeyName,// 指向包含 Key 名称的字符串地址
string lpString,// 要写的字符串地址
string lpFileName
);

public void IniFile(string filename)
{
fileName = filename;
}
public int GetInt(string section, string key, int def)
{
return GetPrivateProfileInt(section, key, def, fileName);
}
public string GetString(string section, string key, string def)
{
StringBuilder temp = new StringBuilder(1024);
GetPrivateProfileString(section, key, def, temp, 1024, fileName);
return temp.ToString();
}
public void WriteInt(string section, string key, int iVal)
{
WritePrivateProfileString(section, key, iVal.ToString(), fileName);
}
public void WriteString(string section, string key, string strVal)
{
WritePrivateProfileString(section, key, strVal, fileName);
}
public void DelKey(string section, string key)
{
WritePrivateProfileString(section, key, null, fileName);
}
public void DelSection(string section)
{
WritePrivateProfileString(section, null, null, fileName);
}

}
}
温馨提示:内容为网友见解,仅供参考
无其他回答

C#读写INI文件的最简方法
INI文件基础 在C#中,虽然.NET框架并未直接提供对INI文件的内置支持,但可以通过以下两种简便途径实现INI文件的读写:1. 使用Microsoft.VisualBasic命名空间提供的API 尽管名为Visual Basic,但此命名空间中的类库在C#中同样可用。其中包含了对INI文件操作的便捷方法,无需额外引入外部库或编写复杂的P\/Invo...

如何在C#中读写INI文件
C#对INI文件进行读操作 正确读取INI的必须满足三个前提 INI文件的全路径 段落名称和关键字名称 否则就无法正确读取 你可以设定读取不成功后的缺省数值 在下面的程序中 为了直观设定的是 无法读取对应数值! 字符串 读取INI文件是通过button 组件的 Click 事件来实现的 下面是其对应的代码清单 private void button _...

用C#如何读写配置文件
\/\/ 读取ini Ini ini = newIni("C:\/config.ini");string str1 =ini.ReadValue("Setting", "key1");MessageBox.Show(str1);二,在一些小的应用中,有时候不需要使用数据困这样大规模的数据管理工具,也很少进行数据的查询、修改等操作,而仅用文件来存储数据。这时就需要使用。net中的文件操作对...

C# 如何读写 ini 文档
public string path; \/\/INI文件名 public _Ini(string inipath){ \/\/this.path = System.Environment.CurrentDirectory + "\\\\KanSea_XBA.ini";this.path = inipath;} \/\/声明读写INI文件的API函数 [DllImport("kernel32")]private static extern long WritePrivateProfileString(string section, string...

C#语言在CE中读ini文件
\/\/读取INI文件指定 public string ReadString(string Section, string Ident, string Default){ Byte[] Buffer = new Byte[65535];int bufLen = GetPrivateProfileString(Section, Ident, Default, Buffer, Buffer.GetUpperBound(0), FileName);\/\/必须设定0(系统默认的代码页)的编码方式,否则无法支持...

c# 读取ini文件某一节点下的所有key,保存到datatable
ini文件读取一般要引入win32API函数来完成,可以参考以下的函数ReadSection,结果以StringCollection的形式返回,你可以自己再做后续处理:public string FileName; \/\/INI文件名 \/\/声明读写INI文件的API函数 [DllImport("kernel32")]private static extern bool WritePrivateProfileString(string section, string ...

C# ini文件操作
\/\/\/INI文件的写入 private void button1_Click(object sender, System.EventArgs e){ WritePrivateProfileString("配置1", "参数1", this.textBox2.Text, FileName);} \/\/\/INI文件的读取 private void button2_Click(object sender, System.EventArgs e){ StringBuilder temp = new StringBuilder(255...

C#读取ini文件全部信息
))!=null) { string[] arr = str.Split('='); List1 = arr[0];\/\/放入第一个 list list2 = arr[1]; } 原理就是读取每行文件,把这行字符串进行处理。。 如果第一行是特殊的 可以判断 第一行不做处理

用c#做出1、通过INI文件传入需要浏览的目录位置, 如何获取ini文件内...
\/\/\/ 读出INI文件 \/\/\/ \/\/\/ 项目名称(如 [TypeName] ) \/\/\/ 键 public string IniReadValue(string Section,string Key){ StringBuilder temp = new StringBuilder(500);int i = GetPrivateProfileString(Section,Key,"",temp,500,this.inipath);return temp.ToString();} ...

C#用户控件怎么取得INI配置文件绝对路径
你把ini文件放在Debug\\bin文件下 在程序里 string src=Application.StartPath+@"\\ 文件名"这是Winfrom的写法 Web 和其类似就是 Application.Path+@"\\";

相似回答