c#如何将字典保存到文本文件中

时间:2015-09-09 19:01:05

标签: c# file dictionary

我正在尝试在txt文件中保存字典,我正在寻找简单的例子。你能帮我吗?我正在尝试这个,但它对我不起作用。谢谢。

robots.txt

3 个答案:

答案 0 :(得分:3)

您可以使用File.WriteAllLines和一些Linq

执行此操作
File.WriteAllLines(
    path, 
    dictionary.Select(kvp => string.Format("{0};{1}", kvp.Key, kvp.Value));

请注意,这将在文件循环通过字典时写入文件,因此不使用任何额外的内存。

答案 1 :(得分:2)

您正在将字典的内容写入sb,但从未使用过它。无需首先创建字典的内存副本(StringBuilder)。相反,只需在列举字典时将其写出来。

string filePath = @"C:\myfile.txt";
using (FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate))
{
    using (TextWriter tw = new StreamWriter(fs))

    foreach (KeyValuePair<string, int> kvp in set_names)
    {
        tw.WriteLine(string.Format("{0};{1}", kvp.Key, kvp.Value));
    }
}

答案 2 :(得分:0)

使用:

StreamWriter sw = new StreamWriter(YOUFILEPATHSTRING);
try
{
 foreach(KeyValuePair kvp in set_names)
 {
   sw.WriteLine(kvp.Key +";"+kvp.Value;
 }

 sw.Close();
}

catch (IOException ex)
{
 sw.Close();
}

此代码创建一个指向您正在写入的文件的流,遍历Key值对并将它们逐个写入文件。如果成功完成或者捕获到IO异常,则应关闭流,否则该进程仍可能打开该文件。