我只是找不到关于如何在 Windows RT(适用于 Windows 8 商店)中逐行读取文本文件的清晰解释。
假设我有一个文件夹:MyFolder/Notes.txt
我想从 Notes.txt 中读取数据并将其添加到字符串数组中。
我如何从该文件中读/写?我之前使用的是 StreamReader,但现在它非常混乱。开发样本并没有太大帮助。
我只是找不到关于如何在 Windows RT(适用于 Windows 8 商店)中逐行读取文本文件的清晰解释。
假设我有一个文件夹:MyFolder/Notes.txt
我想从 Notes.txt 中读取数据并将其添加到字符串数组中。
我如何从该文件中读/写?我之前使用的是 StreamReader,但现在它非常混乱。开发样本并没有太大帮助。
我自己设法找到了答案。谢谢您的帮助。
// 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
您不必使用File.ReadLines
. 如果您愿意,可以尝试这样的实现:
using (StreamReader reader = new StreamReader("notes.txt")) { while (reader.Peek() >= 0) { Console.WriteLine(reader.ReadLine()); } }
foreach (var line in File.ReadLines("MyFolder/Notes.txt"))
{
...
}
逐行读取文件。这与File.ReadAllLines
一次读取整个文件不同。
如果您想一次将所有内容读取到数组中,请使用后者。