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

时间:2013-10-14 13:00:37

标签: c# asp.net listbox text-files streamwriter

我想将列表框中的内容打印到文本文件,但似乎无法正常工作。 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();
}

1 个答案:

答案 0 :(得分:3)

您可能需要发出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路径映射到真实的物理路径。