UWP - 如何读取文本文件?

UWP - How to read in a text file?

我想知道读取文本文件(短文本文件,每行 5 行,每行都有人名)的最佳方法是什么,以便可以 select 编辑文本框的数据。 我正在尝试将结果显示到文本框或列表视图(或任何更好的视图)中,以便我可以 select 将其中一项显示到文本框中。

我使用 StreamReader Class 作为指导,如下所示: https://docs.microsoft.com/en-us/dotnet/api/system.io.streamreader?view=net-5.0

using (StreamReader sr = new StreamReader("TestFile.txt"))
            {
                string line;
                // Read and display lines from the file until the end of
                // the file is reached.
                while ((line = sr.ReadLine()) != null)
                {
                    Debug.WriteLine(line);
                    TextBox.Text=line;
                }
            }

我试过了,但只显示了文本文件的一行(最后一行)。 Debug.WriteLine(line) 显示所有行。

谢谢。

显示 TextBox 中的最后一行是因为您在循环中每次都会覆盖它(Debug.WriteLine 将在输出中写入所有行,但在文本框中,您只会看到最后一行)。如果你想看到所有的行,你可以像

这样改变你的代码
TextBox.Text += line; 

更简单的方法是使用 File.ReadAllText 方法。

ReadLine() 读取每一行。 当你设置 TextBox.Text=line;文本框将显示最后一行。 要在 TextBox 中显示所有行,您将像

一样附加每一行
using (StreamReader sr = new StreamReader("TestFile.txt"))
{
    string line;
    // Read and display lines from the file until the end of
    // the file is reached.
    while ((line = sr.ReadLine()) != null)
    {
        Debug.WriteLine(line);
        TextBox.Text += line;
    }
}

对于列表框:

using (StreamReader sr = new StreamReader("TestFile.txt"))
{
    string line;
    // Read and display lines from the file until the end of
    // the file is reached.
    while ((line = sr.ReadLine()) != null)
    {
        listBox.Items.Add(line);
    }
}

或者更简单:

textBox.Text = File.ReadAllText("TestFile.txt");

listBox.ItemsSource = File.ReadAllLines("TestFile.txt");