On Wednesday, 16 May 2018 at 15:47:29 UTC, Jon Degenhardt wrote:
If you write it in the style of my earlier example and use
counters and if-tests it will work. byLine by itself won't try
to interpret the characters (won't auto-decode them), so it
won't trigger an exception if there are invalid utf-8
When printing to stdout it seems to skip any validation, but
writing to a file does give an exception:
auto inputStream = (args.length < 2 || args == "-") ?
stdin : args.File;
auto outputFile = new File("output.txt");
foreach (line; inputStream.byLine(KeepTerminator.yes))
According to the documentation, byLine can throw an UTFException
so relying on the fact that it doesn't in some cases doesn't seem
like a good idea.