将列表框的项目保存到文本文件中

时间:2018-08-30 20:44:47

标签: c# .net

我的应用程序只是从剪贴板中获取文本并将其设置到列表框中 我需要保存列表框的项以便下次午餐 我为此使用了这段代码

StreamWriter SaveFile = new StreamWriter(sPath);
numlastline = listBox1.Items.Count-1;
SaveFile.WriteLine(listBox1.Items[numlastline]);
SaveFile.ToString();
SaveFile.Close();

但它只会将最后一个剪辑保存到文本中,并删除之前的剪辑

3 个答案:

答案 0 :(得分:0)

在线

SaveFile.WriteLine(listBox1.Items[numlastline]);

您仅传递一个元素listBox1.Items[numlastline]。 要传递所有元素,您可以使用循环

StreamWriter SaveFile = new StreamWriter(sPath);
foreach (var item in listBox1.Items)
{
   SaveFile.WriteLine(item);
}
SaveFile.ToString();
SaveFile.Close();

答案 1 :(得分:0)

尝试使用File.AppendText附加到文件:

using (StreamWriter SaveFile = File.AppendText(sPath))
{
  SaveFile.WriteLine("hello");
}

答案 2 :(得分:0)

您必须遍历所有项目并将其全部写入文件。另外,为了避免文件打开和关闭,我鼓励使用using来为您处理所有这些工作。另外,首先创建FileStream可以使您更好地控制如何打开文件。

using (FileStream fs = new FileStream(sPath, FileMode.Create, FileAccess.Write))
{
    using (StreamWriter sw = new StreamWriter(fs))
    {
        foreach (var item in listBox1.Items)
        {
            sw.WriteLine(item);
        }
    }
}
相关问题