我的应用程序只是从剪贴板中获取文本并将其设置到列表框中 我需要保存列表框的项以便下次午餐 我为此使用了这段代码
StreamWriter SaveFile = new StreamWriter(sPath);
numlastline = listBox1.Items.Count-1;
SaveFile.WriteLine(listBox1.Items[numlastline]);
SaveFile.ToString();
SaveFile.Close();
但它只会将最后一个剪辑保存到文本中,并删除之前的剪辑
答案 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);
}
}
}