我正在尝试在txt文件中保存字典,我正在寻找简单的例子。你能帮我吗?我正在尝试这个,但它对我不起作用。谢谢。
robots.txt
答案 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异常,则应关闭流,否则该进程仍可能打开该文件。