C# записать содержимое списка в текстовый файл
Я хочу напечатать содержимое из списка в текстовый файл, но это не работает. 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 ответ
Вероятно, вам нужно оформить 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. Это для сопоставления виртуального веб-пути с реальным физическим путем.