如何从 URI 读取文件中的所有行?

How to read all lines in a file from a URI?

我目前正在阅读 .srt 的内容,如下所示:

var assetURL = "some url";
var textFromFile = (new WebClient()).DownloadString(assetURL);

但是,我需要能够遍历所有行,如下所示:

 string[] text = File.ReadAllLines(@"subs.srt");
 foreach (string line in text)
 {
    // Do something
 }

我不能那样做,因为 File.ReadAllLines 不支持 URI。知道我该怎么做吗?

您始终可以按 Environment.NewLine with String.Split:

拆分字符串
string[] lines = textFromFile.Split(new []{ Environment.NewLine }, StringSplitOptions.None);

您可以使用 StringReader:

using (var sr = new StringReader(textFromFile))
{
    string line;
    while ((line = sr.ReadLine()) != null)
    {
       // sth with a line
    }
}

为什么它比按 Environment.NewLine 拆分更好?它会处理这两种情况 - 当换行符是 \r\n\n.