示例#1
0
        protected override async Task ExecuteOperationAsync()
        {
            await Task.Yield();

            var destination = _pathsHelper.GetRandomChunkPath();

            FileSystemHelper.MergeFiles(_file1.FullName, _file2.FullName, destination);
            _file1.Delete();
            _file2.Delete();
            _chunksChannel.Writer.TryWrite(new FileInfo(destination));
            TryFinishSorting();
        }
        private FileInfo WriteToFile(List <string> items)
        {
            var filePath = _pathsHelper.GetRandomChunkPath();

            FileSystemHelper.CreateEmptyFile(filePath, true);
            using var writer = new StreamWriter(filePath);
            foreach (var dataItem in items)
            {
                writer.WriteLine(dataItem);
            }
            return(new FileInfo(filePath));
        }