[C#] Подгрузка файла частями

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by ChymeNik, 16 Sep 2012.

  1. ChymeNik

    ChymeNik Member

    Joined:
    31 Aug 2010
    Messages:
    29
    Likes Received:
    7
    Reputations:
    9
    Здравствуйте. Есть текстовый файл весом 1-10 гб.
    Как его можно подгружать частями? например загрузить в List<string> 500 000 строк, использовать, загрузить следующие 500 000 и тд.
    Буду благодарен за любой совет:)
     
  2. FunOfGun

    FunOfGun Elder - Старейшина

    Joined:
    5 Sep 2012
    Messages:
    388
    Likes Received:
    72
    Reputations:
    124
    IO.StreamReader, Lock(если в несколких потохах). Могу пример на vb.net подкинуть, если нужно, но там по 1 строке на поток.
     
  3. ChymeNik

    ChymeNik Member

    Joined:
    31 Aug 2010
    Messages:
    29
    Likes Received:
    7
    Reputations:
    9
    StreamReader загружает сразу весь файл в память.
     
  4. seosimf

    seosimf Member

    Joined:
    3 Mar 2011
    Messages:
    271
    Likes Received:
    44
    Reputations:
    6
    В каком смысле использовать - сохранить в файл или как? Сервер должен поддерживать докачку(e.g. HTTP Range) файлов.
     
  5. ChymeNik

    ChymeNik Member

    Joined:
    31 Aug 2010
    Messages:
    29
    Likes Received:
    7
    Reputations:
    9
    Причем тут сервер вообще?!
    Использовать - обработать, получить данные и тд, вывести и тд.
     
  6. FunOfGun

    FunOfGun Elder - Старейшина

    Joined:
    5 Sep 2012
    Messages:
    388
    Likes Received:
    72
    Reputations:
    124
    http://msdn.microsoft.com/ru-ru/library/system.io.streamreader.readline.aspx
    Чтение 1 строки.
     
  7. Spot

    Spot Elder - Старейшина

    Joined:
    1 Mar 2007
    Messages:
    461
    Likes Received:
    38
    Reputations:
    1
    Ну так ты составляй грамотно вопрос, я тоже подумал о скачке файла с сервера.
    Ответ тебе, впринципе, дали уже выше. Как дополнение - встрой счётчик. Считал 500 00 строк - работаешь с ними, после чего грузишь новые строки.