首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C# Visual我正在尝试读取文本文件并将其显示到Richtextbox中,并包含新行

C# Visual我正在尝试读取文本文件并将其显示到Richtextbox中,并包含新行
EN

Stack Overflow用户
提问于 2017-04-29 00:45:42
回答 3查看 87关注 0票数 3

我试图读取一个文本文件并将其显示到Richtextbox中,并包含新行。说我想把它读成:

你好

你好

你好

但是它是这样读的: HelloHelloHello

这是我到目前为止掌握的代码:

代码语言:javascript
复制
private  void btnView_Click(object sender, EventArgs e)
{
    OpenFileDialog op = new OpenFileDialog();
    op.InitialDirectory = "C:\\";
    op.Filter = "Txt files (*.txt)|*.txt|All Files (*.*)|*.*";
    op.FilterIndex = 2;

    if (op.ShowDialog() == DialogResult.OK)
    {
        textBox1.Text = op.FileName;
        string path = op.FileName;
        StringBuilder sb = new StringBuilder();
        using (StreamReader sr = new StreamReader(path)) 
        {
            while(sr.Peek() >= 0)
            {
                sb.Append(sr.ReadLine());
                Console.WriteLine("\r\n");
            }
        }

        richTextBox1.Text = sb.ToString();                
    }
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-04-29 00:58:25

StreamReader行由Environment.NewLine分隔。如果您阅读了文档,您就会注意到ReadLine不包括这些分隔符。如果要重新添加它们,请使用:

代码语言:javascript
复制
sb.Append(sr.ReadLine());
sb.Append(Environment.NewLine);

不要在Console.WriteLine()应用程序中调用WinForms。

票数 5
EN

Stack Overflow用户

发布于 2017-04-29 01:27:35

另一种方法是使用File类的静态ReadAllText()方法。

您只需将路径传递给文本文件,它就会将所有文本(包括换行)读入字符串中,并将其返回给您。然后,您只需将其结果设置为richTextBox1.Text属性,以获得更清晰、更易于阅读的代码:

代码语言:javascript
复制
if (op.ShowDialog() == DialogResult.OK)
{
    textBox1.Text = op.FileName;
    richTextBox1.Text = File.ReadAllText(op.FileName);
}
票数 2
EN

Stack Overflow用户

发布于 2017-04-29 01:05:22

更改行文:

代码语言:javascript
复制
Console.WriteLine("\r\n");

至:

代码语言:javascript
复制
sb.Append("/r/n");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43690707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档