Exemple #1
0
        /// <summary>
        /// return line with Biggest FileSize line by line.
        /// Time consumption method;
        /// </summary>
        public void BeginReadLine()
        {
            //1 read 1 line in each file
            foreach (var tmpReader in fileReaderArr)
            {
                tmpReader.ReadOneLine();
            }

            while (fileReaderArr.Any(r => r.CurLine != null))
            {
                //2 find line with biggest file size
                var fileReaderWithBiggestFileSize = fileReaderArr.Select(r => r)
                                                    .OrderByDescending(r => r.CurLineFileSize)
                                                    .FirstOrDefault();
                string lineWithBiggestFileSize = fileReaderWithBiggestFileSize.CurLine;
                var    lineReadedE             = new LineReadedEventArgs();
                lineReadedE.CurLineStr = lineWithBiggestFileSize;
                LineReaded(this, lineReadedE);
                processedRowNumber++;

                //3 fileReaderWithBiggestFileSize read 1 more line;
                fileReaderWithBiggestFileSize.ReadOneLine();
            }

            FilesReadCompleted(this, new EventArgs());
        }
Exemple #2
0
        private static void FilesReader_LineReaded(object sender, LineReadedEventArgs e)
        {
            var filesReader = (FilesReader)sender;

            Console.WriteLine(filesReader.ProcessedRowNumber);
            fw.AppendLine(e.CurLineStr);
        }