FileHelpers берут ограничения?

Мне интересно, пока он читает поток из файла, можете ли вы сказать ему, чтобы он брал только x строк? Скажем, если вам нужно 100 строк из файла, можете ли вы указать, чтобы он брал только первые 100 строк (игнорируя первую строку, поскольку это будет заголовок). Даже если в файле 200 строк?


person chobo2    schedule 01.02.2012    source источник
comment
С почти 7k вы должны хотя бы знать, как пометить вопрос. Какой язык, платформа? Из ваших комментариев я вижу, что это С#, но сделайте нам всем одолжение и пометьте его как таковой.   -  person leppie    schedule 02.02.2012
comment
Если вы прочитаете тег filehelper, вы увидите, что это библиотека .net, написанная на C#.   -  person chobo2    schedule 02.02.2012


Ответы (2)


Вы можете использовать FileHelperAsyncEngine, который обрабатывает записи одну за другой.

FileHelperAsyncEngine engine = new FileHelperAsyncEngine(typeof(Customer)); 
engine.BeginReadFile("TestIn.txt"); 

int recordCount = 0;

foreach (Customer cust in engine)
{    
    // your code here 
    Console.WriteLine(cust.Name);

    recordCount++;
    if (recordCount > 100)
        break; // stop processing 
}

engine.Close(); 
person shamp00    schedule 02.02.2012

«Файловый поток» не имеет «строк».

Некоторые устройства позволяют вам «искать» (переходить к определенному, случайному смещению в файле). Это, безусловно, может сэкономить ваше время. Но если файл не имеет фиксированного формата, вы не можете точно знать, какое смещение в байтах соответствует какой логической строке.

В: О какой платформе, языке программирования и типе файла вы говорите?

person paulsm4    schedule 02.02.2012
comment
Под этим я имел в виду, что пока он читает поток, он создает его в объекты (одна строка == один объект). Поэтому, пока он это делает, я подумал, может быть, вы можете сказать ему остановиться после того, как он создал так много объектов. Filehelpers - это библиотека .net (я использую С#) - person chobo2; 02.02.2012