如何在 Filehelpers 中对文件进行分区

How to partition a file in Filehelpers

我正在尝试使用 Filehelpers (3.0.39.0) 将文件分成 12.000 行。 下面是我的代码:

       'Busca informações do Discador
        Dim dtDiscadores As New DataTable
        mensagemErro += ItauACCRepositorio.GetDiscadores(dtDiscadores, dtInicial, dtFinal)

        'DataTable->List
        Dim records = (From row In dtDiscadores.Rows
                       Select New ItauACCLayout.RetornoAcionamentoDiscador With {.DescricaoLinha = row("DCRLINHARQ")}).ToList()

        'Inicializa o motor do FileHelpers
        Dim engine As New FileHelperEngine(Of ItauACCLayout.RetornoAcionamentoDiscador)(Encoding.GetEncoding("iso-8859-1"))

        'Escreve o arquivo
        engine.WriteFile(String.Concat(_camArquivo, _nomArquivo, _extArquivo), records)

如果我的数据表 (dtDiscadores) return 超过 12.000 行,我需要分成 'N' 个不同的文件!

您可以使用 batch extension from MoreLinq.

records 进行批处理
 var batches = records.Batch(12000);
 var i = 0;
 foreach(var batch in batches)
 {
     i++;
     engine.WriteFile(String.Concat(_camArquivo, _nomArquivo + i.ToString(), _extArquivo), batch);
 }