读写ini文件
方法一
读写INI文件在C#中可以通过多种方式实现,其中一种常见的方法是使用System.Runtime.InteropServices
命名空间中的GetPrivateProfileString
和WritePrivateProfileString
函数,这些函数实际上是Windows API函数。
实例
下面是一个完整的C#示例代码,展示如何读写INI文件:
using System;
using System.Runtime.InteropServices;
using System.Text;
class IniFile
{
public string Path;
[DllImport("kernel32", CharSet = CharSet.Unicode)]
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
[DllImport("kernel32", CharSet = CharSet.Unicode)]
private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
public IniFile(string path)
{
Path = path;
}
public void Write(string section, string key, string value)
{
WritePrivateProfileString(section, key, value, Path);
}
public string Read(string section, string key)
{
StringBuilder retVal = new StringBuilder(255);
GetPrivateProfileString(section, key, "", retVal, 255, Path);
return retVal.ToString();
}
}
class Program
{
static void Main(string[] args)
{
string iniPath = "test.ini";
IniFile ini = new IniFile(iniPath);
// 写入数据
ini.Write("Settings", "Username", "User123");
ini.Write("Settings", "Password", "Pass123");
// 读取数据
string username = ini.Read("Settings", "Username");
string password = ini.Read("Settings", "Password");
Console.WriteLine("Username: " + username);
Console.WriteLine("Password: " + password);
}
}
代码说明
- 声明API函数:通过
DllImport
属性将Windows API函数GetPrivateProfileString
和WritePrivateProfileString
引入到C#中。[DllImport("kernel32", CharSet = CharSet.Unicode)] private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); [DllImport("kernel32", CharSet = CharSet.Unicode)] private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
方法二
IniFile类:创建一个IniFile
类来封装INI文件的读写操作。
```csharp
class IniFile
{
public string Path;
public IniFile(string path)
{
Path = path;
}
public void Write(string section, string key, string value)
{
WritePrivateProfileString(section, key, value, Path);
}
public string Read(string section, string key)
{
StringBuilder retVal = new StringBuilder(255);
GetPrivateProfileString(section, key, "", retVal, 255, Path);
return retVal.ToString();
}
}
```
主程序:在Main
方法中,创建IniFile
对象并进行读写操作。
```csharp
class Program
{
static void Main(string[] args)
{
string iniPath = "test.ini";
IniFile ini = new IniFile(iniPath);
// 写入数据
ini.Write("Settings", "Username", "User123");
ini.Write("Settings", "Password", "Pass123");
// 读取数据
string username = ini.Read("Settings", "Username");
string password = ini.Read("Settings", "Password");
Console.WriteLine("Username: " + username);
Console.WriteLine("Password: " + password);
}
}
```
通过以上代码,你可以在C#中轻松实现对INI文件的读写操作。
结束语 Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。我将学习和深入研究Flutter的方方面面。从基础知识到高级技巧,从UI设计到性能优化,欢饮关注一起讨论学习,共同进入Flutter的精彩世界!