1

我想将列表框中的内容打印到文本文件中,但它似乎不起作用。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();
}
4

1 回答 1

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.

最后,不要Server.MapPath在 winforms 应用程序中使用。那是为了将虚拟网络路径映射到真实的物理路径。

于 2013-10-14T13:06:02.317 回答