从文本文件中获取数据并显示在多行文本框中

时间:2013-10-03 11:16:26

标签: c# for-loop textbox while-loop

我有一个名为:blogPostTextBox的文本框和一个名为:blogMessage.txt的文件

此blogMessage.txt包含3个名为

的文本
  • 消息1
  • 消息2
  • 消息3

我想从该txt文件中读取数据,并使用for循环或while循环在blogPostTextBox中显示数据。此外,我需要在每条消息的末尾使用System.Environment.NewLine,以便每条消息显示在blogPostsTextBox中的单独行上。

public partial class _Default : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {
        blogPostsTextBox.Text = "";
        string blogMessage = File.ReadAllText(Server.MapPath("~") + 
                                 "/App_Data/blogMessages.txt");
    }
}

如何继续使用该代码?谢谢你们!

1 个答案:

答案 0 :(得分:5)

string path = Server.MapPath("~") + "/App_Data/blogMessages.txt";
string blogMessage = String.Join(Environment.NewLine, File.ReadLines(path));
blogPostTextBox.Text = blogMessage;

File.ReadLines使用文件中的行返回IEnumerable<string>(即会有三条消息)。然后我用String.Join连接行 - 它在文本文件中找到的每一行之后添加新行。

BTW为什么你不能简单地将文件内容分配给文本框?

blogPostTextBox.Text = File.ReadAllText(path);

更新(带循环)

string path = Server.MapPath("~") + "/App_Data/blogMessages.txt";
StringBuilder builder = new StringBuilder();

foreach(var line in File.ReadLines(path))    
    builder.AppendLine(line);

blogPostTextBox.Text = builder.ToString();