我想将列表框中的内容打印到文本文件,但似乎无法正常工作。 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();
}
答案 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路径映射到真实的物理路径。