Exemplo n.º 1
0
 public void Add(string aFileName, Binary2 aData)
 {
     lock ( iEntries )
     {
         if (!iEntries.ContainsKey(aFileName))
         {
             iEntries.Add(aFileName, aData);
         }
     }
 }
Exemplo n.º 2
0
            public void Read()
            {
                //System.Console.WriteLine( string.Format( "Reading starting - pos: 0x{0}, len: {1:d8}", iStart, iCount ) );
                DateTime timeStamp = DateTime.Now;

                Binary2 currentBinary = null;

                long binaryCount = 0;
                long lineCount   = 0;

                using (StreamReader reader = new StreamReader(new MemoryStream(iData, iStart, iCount)))
                {
                    string line = reader.ReadLine();
                    while (line != null)
                    {
                        ++lineCount;
                        if (line.StartsWith("From    "))
                        {
                            currentBinary           = new Binary2();
                            currentBinary.iFileName = line.Substring(8);
                            //
                            ++binaryCount;
                            iStore.Add(currentBinary.iFileName, currentBinary);
                        }
                        else if (currentBinary != null)
                        {
                            currentBinary.iData.Add(line);
                        }

                        line = reader.ReadLine();
                    }
                }

                DateTime endTime = DateTime.Now;
                TimeSpan span    = (endTime - timeStamp);

                //System.Console.WriteLine( string.Format( "Reading complete - {0} time, {1} lines, {2} binaries", span, lineCount, binaryCount ) );

                if (Completed != null)
                {
                    Completed(this);
                }
            }