显示.txt文件时保持格式

本文关键字:格式 txt 文件 显示 | 更新日期: 2023-09-27 17:57:47

我是c#的新手,我有一个问题可能有一个非常简单的解决方案。我想导入一个.txt文件以查看文本框,并保持原始文件的格式(所有正确的空格)。这可能吗?当用户单击按钮并显示文件时,我使用以下代码打开.txt文件。再说一次,我对编程很陌生,如果有任何帮助,我将不胜感激。

OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
    StreamReader sr = File.OpenText(ofd.FileName);
    string s = sr.ReadLine();
    StringBuilder sb = new StringBuilder();
    while (s != null)
    {
        sb.Append(s);
        s = sr.ReadLine();
    }
    sr.Close();
    textBox1.Text = sb.ToString();
}

显示.txt文件时保持格式

我认为您应该使用

sb.AppendLine(); 

而不是sb.Append();

现在,您也可以(应该)使用ReadToEnd(),正如David Heffernan所建议的那样。

using(StreamReader sr = File.OpenText(ofd.FileName)) {
   textBox1.Text = sr.ReadToEnd();
}

我相信你想得太多了。不需要您的循环,而且框架已经提供了方便的方法,可以完全按照您的意愿进行操作。

我会这样写代码:

using (StreamReader sr = new StreamReader(ofd.FileName))
{
    textBox1.Text = sr.ReadToEnd();
}

我想你关于保留间距的问题是因为你的循环没有保留换行符。这也是使用内置框架的另一个原因。让它承受压力,把细节做好。