4

我只是找不到关于如何在 Windows RT(适用于 Windows 8 商店)中逐行读取文本文件的清晰解释。

假设我有一个文件夹:MyFolder/Notes.txt

我想从 Notes.txt 中读取数据并将其添加到字符串数组中。

我如何从该文件中读/写?我之前使用的是 StreamReader,但现在它非常混乱。开发样本并没有太大帮助。

4

3 回答 3

7

我自己设法找到了答案。谢谢您的帮助。

    // READ FILE
    public async void ReadFile()
    {
        // settings
        var path = @"MyFolder\MyFile.txt";
        var folder = Windows.ApplicationModel.Package.Current.InstalledLocation;


        // acquire file
        var file = await folder.GetFileAsync(path);
        var readFile = await Windows.Storage.FileIO.ReadLinesAsync(file);
        foreach (var line in readFile)
        {
            Debug.WriteLine("" + line.Split(';')[0]);
        }
     }

MyFile.txt 有:

测试1;描述1;

测试2;描述2;

//ReadFile() 的输出

测试1

测试2

于 2012-12-21T22:44:05.637 回答
3

您不必使用File.ReadLines. 如果您愿意,可以尝试这样的实现:

using (StreamReader reader = new StreamReader("notes.txt"))
{
    while (reader.Peek() >= 0)
    {
        Console.WriteLine(reader.ReadLine());
    }
}
于 2012-12-21T21:53:50.030 回答
2
foreach (var line in File.ReadLines("MyFolder/Notes.txt"))
{
  ...
}

逐行读取文件。这与File.ReadAllLines一次读取整个文件不同。

如果您想一次将所有内容读取到数组中,请使用后者。

于 2012-12-21T21:41:30.433 回答