2013-10-14 3 views
1

Я хочу распечатать содержимое из окна списка в текстовый файл, но, похоже, он не работает. В текстовом файле SortedFlats ничего не отображается.C# записать содержимое списка в текстовый файл

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

'Server.MapPath'? Winforms? –

+0

жаль, что это не winforms. это веб-приложение. – user2699500

ответ

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

Смежные вопросы