簡體   English   中英

逐行讀取輸入流

[英]Reading line by line an inputstream

我有一個網站將大型文件發布到我的服務器。 我需要逐行閱讀或至少能夠拆分它。 它有2000頁長。

現在,我有:

if (file != null && file.ContentLength > 0)
                {
                    using (file.InputStream)
                    {
                       //Looking for this part
                    }
                }

謝謝,

菲爾

嘗試這個:

public IEnumerable<string> ReadLines(Func<Stream> streamProvider,
                                     Encoding encoding)
{
    using (var stream = streamProvider())
    using (var reader = new StreamReader(stream, encoding))
    {
        string line;
        while ((line = reader.ReadLine()) != null)
        {
            yield return line;
        }
    }
}

因此:

var lines = ReadLines(() => file.InputStream, Encoding.UTF8).ToArray();

希望對您有所幫助

我遵循@Gusman的使用streamreader的想法。

stream = new StreamReader(file.InputStream);
using (stream)
{
    while (stream.Peek() >= 0)
    {
        var line =  stream.ReadLine();
        //some stuff              
    }
}

也謝謝@Ali

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM