从资产中的文本文件读取行到数组

Read Lines from textfile in assets to array

我正在使用以下代码将资产文件夹中的文本文件读取为字符串并将其拆分为数组

string filepath = @"Assets\DATA.csv";
StorageFolder folder =     Windows.ApplicationModel.Package.Current.InstalledLocation;
StorageFile file = await folder.GetFileAsync(filepath); // error here
var Lines = await Windows.Storage.FileIO.ReadTextAsync(file);
string[] lines2 = Lines.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);

这工作正常,但文本文件现在超过 500 行,我收到一个异常,因为它太大而无法放入字符串

有没有一种方法可以一次一行地将文本文件直接读入数组 每行以换行符终止

我已经搜索过了,似乎有一种使用文件的方法。 class 但我可以让它工作。

你可以把它读到一个字符串列表,每行文本在列表的一个元素中

List<string> myList= new List<string>();
StreamReader sr = new StreamReader(filepath);

while(!sr.EndOfStream)
{
  myList.Add(sr.ReadLine());
}

你想要 Windows.Storage.FileIO.ReadLinesAsync 其中 returns 文件行的列表。

List<string> myLines = ReadLinesAsync(myStorageFile);

使用

System.IO.File.ReadLines(filepath)

https://msdn.microsoft.com/en-us/library/vstudio/system.io.file.readlines(v=vs.100).aspx