C# 将列表框内容写入文本文件

本文关键字:文本 文件 列表 | 更新日期: 2023-09-27 18:35:19

我想将列表框中的内容打印到文本文件中,但似乎不起作用。SortedFlats 文本文件不显示任何内容。

protected void printImageButton_Click(object sender, ImageClickEventArgs e)
{
    StreamWriter flatStreamWriter = new StreamWriter(Server.MapPath("~") + "SortedFlats.txt");
    for (int i = 0; i < flatListBox.Items.Count; i++)
    {
        flatStreamWriter.WriteLine(flatListBox.Items[i].ToString());
    }
    flatStreamWriter.Close();
}

C# 将列表框内容写入文本文件

您可能需要发出Flush

但是,资源更友好一点怎么样:

StringBuilder sb = new StringBuilder();
for (int i = 0; i < flatListBox.Items.Count; i++)
{
    sb.AppendLine(flatListBox.Items[i].ToString());
}
File.WriteAllText("SortedFlats.txt"), sb.ToString());

通过使用File.WriteAllText您不必自行管理非托管资源。无论如何,您现在做错了,因为它没有包裹在using中。

最后,不要在 winforms 应用程序中使用 Server.MapPath。这是用于将虚拟 Web 路径映射到实际物理路径。