-1

私はまだ C# の最初のステップにいます。これが私の最初の投稿/質問です。Streamreader を Display(output) に実装する方法 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 に答える