C# 如何使用列表框写入文本文件

C# 如何使用列表框写入文本文件,c#,stream,C#,Stream,我有一个文本文件“cars.txt”,保存在bin\debug中,我想使用C#向其中添加更多的护理模型,并用新添加的行显示文件的全部内容。我该怎么做 string[] models = new string[] { "Toyota", "Nissan" }; using (StreamWriter writer = new StreamWriter("CarsList.txt")) { foreach (string s in models) { writer.

我有一个文本文件“cars.txt”,保存在bin\debug中,我想使用C#向其中添加更多的护理模型,并用新添加的行显示文件的全部内容。我该怎么做

string[] models = new string[] { "Toyota", "Nissan" };

using (StreamWriter writer = new StreamWriter("CarsList.txt"))
{
    foreach (string s in models)
    {
        writer.WriteLine(s);
        listBoxCars.Items.Add(s);
    }
}

有几种方法可以做到这一点,最简单的方法可能是将
true
作为第二个参数传递给
StreamWriter
构造函数,该构造函数指示它附加文本:

string[] models = { "Toyota", "Nissan" };

using (StreamWriter writer = new StreamWriter("CarsList.txt", true))
{
    foreach (string s in models)
    {
        writer.WriteLine(s);
    }
}
然后,您可以使用
file.ReadAllText
轻松地将整个文件内容转换为字符串:

string fileContents = File.ReadAllText("CarsList.txt");
或者,如果您想将每一行作为一个单独的项目进行读取,可以使用
文件.ReadAllLines
(注意,这是而不是在上面的
使用
块中-这应该是在该部分完成并将新项目添加到文件中之后):


. 它返回一个
StreamWriter
。然后,您可以使用
WriteLine
方法向现有行添加新行。您是否也在保存品牌或型号?如果两者都存在,您可能希望将其保存为XML文件(查看XmlDocument)。我尝试了您的答案,但没有成功,列表框中只显示Toyota和Nissan,而不是文件中已经存在的其他字符串。您没有向列表框添加任何其他字符串,您只是添加了我们正在写入文件的项目。是否要在列表框中显示该文件?如果要将该文件的内容写入列表框,请按照上面答案中的最后一个示例进行操作(并删除写入文件时添加项目的行)。是,我想在列表框中显示全部内容,实际上我已经弄明白了,列表框显示了我使用的StreamReader的所有内容。多谢各位
foreach (var item in File.ReadAllLines(fileName))
{
    listBox1.Items.Add(item);
}