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. Это для сопоставления виртуального веб-пути с реальным физическим путем.

Другие вопросы по тегам