C# 语言 配置文件的读取技巧

C#阿木 发布于 2025-06-13 9 次阅读


C 配置文件读取技巧详解

在C开发中,配置文件是存储应用程序设置、参数和常量等信息的常用方式。配置文件可以帮助开发者将应用程序的配置与代码分离,使得应用程序更加灵活和可维护。本文将围绕C语言配置文件的读取技巧进行详细探讨。

一、配置文件类型

在C中,常见的配置文件类型主要有以下几种:

1. XML配置文件:这是最常用的配置文件类型,它使用XML格式存储数据,易于阅读和编辑。
2. INI配置文件:INI文件使用简单的键值对格式,通常用于存储简单的配置信息。
3. JSON配置文件:JSON格式轻量级,易于阅读和编写,是近年来流行的配置文件格式。

二、XML配置文件读取

1. 使用`System.Configuration`命名空间

在C中,可以使用`System.Configuration`命名空间中的`ConfigurationManager`类来读取XML配置文件。

csharp
using System.Configuration;

public class ConfigReader
{
public static void ReadXmlConfig()
{
// 获取配置文件
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

// 读取配置节
string value = config.AppSettings.Settings["key"].Value;
Console.WriteLine("Value from XML config: " + value);
}
}

2. 使用`System.Xml`命名空间

除了使用`System.Configuration`,还可以直接使用`System.Xml`命名空间中的类来读取XML配置文件。

csharp
using System.Xml;
using System.Configuration;

public class XmlConfigReader
{
public static void ReadXmlConfigDirectly()
{
// 创建XML文档
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("config.xml");

// 获取节点
XmlNode node = xmlDoc.SelectSingleNode("/appSettings/add[@key='key']");
string value = node.Attributes["value"].Value;
Console.WriteLine("Value from XML config: " + value);
}
}

三、INI配置文件读取

1. 使用`System.Configuration`命名空间

同样地,可以使用`System.Configuration`命名空间中的`ConfigurationManager`类来读取INI配置文件。

csharp
using System.Configuration;

public class IniConfigReader
{
public static void ReadIniConfig()
{
// 获取配置文件
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

// 读取配置节
string value = config.AppSettings.Settings["key"].Value;
Console.WriteLine("Value from INI config: " + value);
}
}

2. 使用`System.IO`命名空间

如果不想使用`System.Configuration`,可以使用`System.IO`命名空间中的类来读取INI配置文件。

csharp
using System.IO;

public class IniFileReader
{
public static void ReadIniConfigDirectly()
{
string filePath = "config.ini";
string[] lines = File.ReadAllLines(filePath);
string value = null;

foreach (string line in lines)
{
if (line.StartsWith("[key]"))
{
value = line.Substring(line.IndexOf('=') + 1).Trim();
break;
}
}

Console.WriteLine("Value from INI config: " + value);
}
}

四、JSON配置文件读取

1. 使用`System.Text.Json`命名空间

在.NET Core和.NET 5/6中,可以使用`System.Text.Json`命名空间中的类来读取JSON配置文件。

csharp
using System.Text.Json;

public class JsonConfigReader
{
public static void ReadJsonConfig()
{
string jsonFilePath = "config.json";
string json = File.ReadAllText(jsonFilePath);
var options = new JsonSerializerOptions { PropertyNameCaseInsensitive = true };
var config = JsonSerializer.Deserialize(json, options);

Console.WriteLine("Value from JSON config: " + config.Key);
}
}

public class Config
{
public string Key { get; set; }
}

2. 使用`Newtonsoft.Json`命名空间

在.NET Framework中,可以使用`Newtonsoft.Json`命名空间中的类来读取JSON配置文件。

csharp
using Newtonsoft.Json;

public class JsonConfigReader
{
public static void ReadJsonConfig()
{
string jsonFilePath = "config.json";
string json = File.ReadAllText(jsonFilePath);
var config = JsonConvert.DeserializeObject(json);

Console.WriteLine("Value from JSON config: " + config.Key);
}
}

public class Config
{
public string Key { get; set; }
}

五、总结

本文详细介绍了C中配置文件的读取技巧,包括XML、INI和JSON配置文件的读取方法。通过这些技巧,开发者可以轻松地将配置信息与代码分离,提高应用程序的可维护性和灵活性。在实际开发中,应根据具体需求选择合适的配置文件格式和读取方法。