I'm trying to partition a file in 12.000 lines, using Filehelpers (3.0.39.0). Below follows my code:
'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)
If my datatable (dtDiscadores) return more than 12.000 lines, i need to partition into 'N' files diferents!
You can just batch your records
using the batch extension from MoreLinq.
var batches = records.Batch(12000);
var i = 0;
foreach(var batch in batches)
{
i++;
engine.WriteFile(String.Concat(_camArquivo, _nomArquivo + i.ToString(), _extArquivo), batch);
}