Write/Read 文本文件 (C#)
Write/Read Text Files (C#)
我不是 100% 确定如何在标题中解释它或如何搜索它,很抱歉,如果这是 post 之前。我想做的是读写一个文件,例如我会做的:
WriteToFile(key + "=" + value);
在文本文件中它会这样写:
AKey=AValue
我能够很容易地得到它,但我想知道我将如何获得代码来找到 'key' 和 return 它的值。例如:
int integer = GetValue("AKey");
并且 GetValue 方法会找到 'key'、"AKey",如果它存在于文件中,return 值。
为了完整起见,我将扩展我的评论,这里是一些如何完成此操作的示例代码:
Dictionary<string, string> _keys = new Dictionary<string, string>();
private void ReadInKeyFile(string keyFileName)
{
_keys.Clear();
string[] lines = System.IO.File.ReadAllLines(keyFileName);
foreach (string line in lines)
{
string[] keyval = line.Split('=');
_keys.Add(keyval[0], keyval[1]);
}
}
private string GetValue(string key)
{
string retVal = string.Empty;
_keys.TryGetValue(key, out retVal);
return retVal;
}
Dictionary<string, string>
保存了从文件中读入的key/value对,所以当你想刷新它的时候,你可以用文件名调用ReadInKeyFile
函数。然后,您可以使用 GetValue
获取特定键的值(如果未找到该键,则使用 String.Empty
)。
我在上面的代码中遗漏了一些明显的检查(文件不存在,行不包含 =
,等等),但它让你完成了 90%那里。
编辑
下面是一些扩展,用于添加新密钥并将其写入文件:
private void SaveKeysToFile(string keyFileName)
{
StringBuilder sb = new StringBuilder();
_keys.ToList().ForEach(kvp =>
sb.AppendLine(string.Format("{0}={1}", kvp.Key, kvp.Value)));
System.IO.File.WriteAllText(keyFileName, sb.ToString());
}
private void AddValue(string key, string value)
{
_keys[key] = value;
}
SaveToFile
方法将字典转换为您使用的文件格式,AddValue
添加一个键和值(或者更改现有键,如果它已经存在)。
我不是 100% 确定如何在标题中解释它或如何搜索它,很抱歉,如果这是 post 之前。我想做的是读写一个文件,例如我会做的:
WriteToFile(key + "=" + value);
在文本文件中它会这样写:
AKey=AValue
我能够很容易地得到它,但我想知道我将如何获得代码来找到 'key' 和 return 它的值。例如:
int integer = GetValue("AKey");
并且 GetValue 方法会找到 'key'、"AKey",如果它存在于文件中,return 值。
为了完整起见,我将扩展我的评论,这里是一些如何完成此操作的示例代码:
Dictionary<string, string> _keys = new Dictionary<string, string>();
private void ReadInKeyFile(string keyFileName)
{
_keys.Clear();
string[] lines = System.IO.File.ReadAllLines(keyFileName);
foreach (string line in lines)
{
string[] keyval = line.Split('=');
_keys.Add(keyval[0], keyval[1]);
}
}
private string GetValue(string key)
{
string retVal = string.Empty;
_keys.TryGetValue(key, out retVal);
return retVal;
}
Dictionary<string, string>
保存了从文件中读入的key/value对,所以当你想刷新它的时候,你可以用文件名调用ReadInKeyFile
函数。然后,您可以使用 GetValue
获取特定键的值(如果未找到该键,则使用 String.Empty
)。
我在上面的代码中遗漏了一些明显的检查(文件不存在,行不包含 =
,等等),但它让你完成了 90%那里。
编辑
下面是一些扩展,用于添加新密钥并将其写入文件:
private void SaveKeysToFile(string keyFileName)
{
StringBuilder sb = new StringBuilder();
_keys.ToList().ForEach(kvp =>
sb.AppendLine(string.Format("{0}={1}", kvp.Key, kvp.Value)));
System.IO.File.WriteAllText(keyFileName, sb.ToString());
}
private void AddValue(string key, string value)
{
_keys[key] = value;
}
SaveToFile
方法将字典转换为您使用的文件格式,AddValue
添加一个键和值(或者更改现有键,如果它已经存在)。