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

问题描述 投票:-4回答:3

我的应用程序只是从剪贴板中获取文本并将其设置为列表框,我需要保存下一个午餐的列表框项目我已经使用此代码

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

但它只保存最后一个剪辑到文本并删除以前的剪辑

c# .net
3个回答
0
投票

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

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

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();

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);
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.