【问题标题】:How to read from a file in c# [duplicate]如何在c#中读取文件[重复]
【发布时间】:2015-11-23 17:44:40
【问题描述】:

我有一个我正在开发的桌面应用程序,它应该可以跟踪某些事物的小型 cmets。这个想法是有一个用于保存文件的 savefiledialog 和一个用于打开文件的 openfiledialog。但是在 openToolStripMenuItem_Click 方法中,我无法从文件中读取并将 textbox1.Text 设置为正在读取的文件并打开要为小型 cmets 编辑的文件中的文本。下面是代码

private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
    OpenFileDialog fo = new OpenFileDialog();
    fo.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
    fo.ShowDialog();
    if (File.Exists(fo.FileName)) 
    {
        using (StreamReader reader = new StreamReader(fo.FileName,Encoding.UTF8)) {
                textBox1.Text = reader.ReadToEnd();   
            }

    }
}

这很好用

    using (StreamReader reader = new StreamReader(fo.FileName,Encoding.UTF8)) {
                        textBox1.Text = reader.ReadToEnd();   
                    }

这也是

    textbox1.Text = File.ReadAllText(fo.FileName);

编辑:我打开的文件中没有任何内容。

【问题讨论】:

  • 您提到您“从文件读取和设置文本框1 时遇到问题”到底是什么问题?
  • 当提出与 MSDN 文章标题完全匹配的问题时,例如 [如何:从 C# 文本文件中读取](msdn.microsoft.com/en-us/library/ezwyzy7b.aspx),请考虑链接到该文章并澄清究竟是什么不清楚。
  • 当我从文件中读取并将值从 textbox1.Text 设置为 StreamReader 对象方法或 File.Open 我得到一个 System.IO.StreamReader 或什么都没有,在文本框中而不是实际文件内容。
  • 学习如何使用方法的返回类型来发挥自己的优势是值得的。 File.OpenText 的返回类型是 StreamReader - 您可以谷歌“StreamReader”并了解如何使用它。提示: ToString() 没有用。查看此问题的答案、提供的 MSDN 链接或标记为重复的问题。一切都会在这里为您提供帮助。
  • ...您可以使用 StreamReader,但不是那样。

标签: c# winforms openfiledialog


【解决方案1】:

File.OpenText 将返回一个 StreamReader,这是一个用于处理文本流的类,它不是文件上的文本内容。

如果你想阅读它然后使用 File.ReadAllText(yourFIle),它将只返回一个包含文件内容的字符串。

【讨论】:

    【解决方案2】:

    使用System.IO.File.ReadAllText 将文件的所有内容读入字符串。

    【讨论】:

    • 每次我通过文件对话框打开文件时,文本框中都没有显示任何内容
    猜你喜欢
    • 1970-01-01
    • 2017-11-03
    • 2010-11-07
    • 2016-06-07
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多