使用 LINQ 解析文本文件

发布于 2024-10-14 17:04:37 字数 121 浏览 3 评论 0原文

我知道通常您会使用 File.ReadAllLines,但我正在尝试使用上传的文件来完成此操作。

我可以以某种方式将其放入临时位置吗?或者从内存中读取它?

我能够让它工作

I know normally you would use the File.ReadAllLines, but I'm trying to do it with an uploaded file.

Can I somehow put it into a temporary location?, or read it from memory?

I was able to get this working

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

世界等同你 2024-10-21 17:04:37

这是一个 string、一个 Stream 还是什么?无论哪种方式,您都需要一个 TextReader - 问题很简单:StringReaderStreamReader。一旦你有了那个,我会做类似的事情:

public static IEnumerable<string> ReadLines(TextReader reader) {
    string line;
    while((line = reader.ReadLine()) != null) yield return line;
}

然后无论使用哪个阅读器,我都可以使用:

foreach(var line in ReadLines(reader)) {
    // note: non-buffered - i.e. more memory-efficient
}

或:

string[] lines = ReadLines(reader).ToArray();
// note: buffered - all read into memory at once (less memory efficient)

即如果它是你正在阅读的Stream

using(var reader = new StreamReader(inputStream)) {
    foreach(var line in ReadLines(reader)) {
        // do something fun and interesting
    }
}

Is this a string, a Stream, or what? either way, you want a TextReader - the question is simply StringReader vs StreamReader. Once you have that, I would do something like:

public static IEnumerable<string> ReadLines(TextReader reader) {
    string line;
    while((line = reader.ReadLine()) != null) yield return line;
}

then with whichever reader, I can either user:

foreach(var line in ReadLines(reader)) {
    // note: non-buffered - i.e. more memory-efficient
}

or:

string[] lines = ReadLines(reader).ToArray();
// note: buffered - all read into memory at once (less memory efficient)

i.e. if it is a Stream you are reading from:

using(var reader = new StreamReader(inputStream)) {
    foreach(var line in ReadLines(reader)) {
        // do something fun and interesting
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文