in dotnet/Utils/ChunkedJsonWriter.cs [54:88]
public void WriteElement(string jsonElement)
{
lock (_lock)
{
if (_textStream == null)
{
var filename = GetChunkedOutputFilename(_outputFilenameTemplate, NumChunksWrittenSoFar);
Console.WriteLine($"Opening output file {filename}.");
var fileStream = File.Create(filename);
var gzipStream = new GZipStream(fileStream, CompressionMode.Compress, false);
_textStream = new StreamWriter(gzipStream);
_numElementsWrittenInCurrentChunk = 0;
if (!_useJsonlFormat) _textStream.Write('[');
}
if (_numElementsWrittenInCurrentChunk > 0)
{
if (_useJsonlFormat)
{
_textStream.Write('\n');
}
else
{
_textStream.Write(',');
}
}
_textStream.Write(jsonElement);
++_numElementsWrittenInCurrentChunk;
if (_numElementsWrittenInCurrentChunk >= _max_elements_per_chunk)
{
CloseOutputFile();
}
}
}