Splitting up large dirty file

Kagamin spam at here.lot
Fri May 18 09:10:26 UTC 2018


On Thursday, 17 May 2018 at 20:08:09 UTC, Dennis wrote:
> ```
>     auto inputStream = (args.length < 2 || args[1] == "-") ? 
> stdin : args[1].File;
> 	auto outputFile = new File("output.txt");
>     foreach (line; inputStream.byLine(KeepTerminator.yes)) 
> outputFile.write(line);
> ```

Do it old school?
---
int line;
auto outputFile = File("output.txt", "wb");
foreach (chunk; inputStream.byChunk(4<<10))
{
   auto rem=chunk;
   while(rem!=null)
   {
     auto i=rem.countUntil(10);
     auto len=i+1;
     if(i<0)len=rem.length; else line++;
     outputFile.rawWrite(rem[0..len]);
     rem=rem[len..$];
   }
}
---


More information about the Digitalmars-d-learn mailing list