-1

我仍然是 C# 的第一步,这是我的第一篇文章/问题。如何实现 Streamreader 以显示(输出)就像单击 Dataretrieve 按钮后,我想检索位于“D:\Savedata.txt”上的数据并将其显示在 lblDisplay

这是我的代码,我错过了什么吗?

void DataretrieveClick(object sender, EventArgs e)
{
   StreamReader read = File.OpenText("D:\\Savedata.txt");
   lblDisplay.Text = "Last Name: " +textBox1.Text.Trim();
   read.Close();
}
4

3 回答 3

2

像这样的东西应该是你正在寻找的东西。

void DataretrieveClick(object sender, EventArgs e)
{
    using (StreamReader reader = File.OpenText("D:\\Savedata.txt"))
    {
        lblDisplay.Text = reader.ReadToEnd();
    }
}

创建实现接口 IDisposable 的类的实例时,应将其包装在 using() 语句中,以确保在离开 using() 范围时释放它的资源。此外,您可以在此处查看 StreamReader 的文档,它可以帮助您了解可用的内容。

于 2012-12-09T15:16:38.300 回答
2

类中有一个非常方便的静态方法ReadAllTextFile它会打开一个文本文件,读取文件的所有行,然后关闭文件:

lblDisplay.Text = File.ReadAllText("D:\\Savedata.txt");

在内部,此方法完全符合您要实现的功能(创建StreamReader并读取从当前位置到流末尾的所有字符):

using (var reader = new StreamReader(path, Encoding.UTF8, true, 0x400, true))
{
    return reader.ReadToEnd();
}
于 2012-12-09T15:21:10.363 回答
0

你正在寻找read.ReadToEnd().

于 2012-12-09T15:16:34.447 回答