RedisRipper.Workbench.WorkbenchFile.loadWorkbenchFile C# (CSharp) Méthode

loadWorkbenchFile() private méthode

private loadWorkbenchFile ( StreamReader reader ) : void
reader System.IO.StreamReader
Résultat void
        private void loadWorkbenchFile(StreamReader reader)
        {
            if (reader == null)
                return;

            // using (StreamReader reader = new StreamReader(File.OpenRead(filename)))
            using (reader)
            {
                while (!reader.EndOfStream)
                {
                    string line = reader.ReadLine();

                    try
                    {

                        if (IsSectionStart(line))
                        {
                            string name = line.Substring(3, 4);
                            CompanionFileType fileType = CompanionFileType.Unknown;

                            if (Enum.TryParse<CompanionFileType>(name.ToUpper(), out fileType) && fileType != CompanionFileType.Unknown)
                            {
                                int recordCount = CompanionFile.RecordCount(fileType);
                                int recordSize = CompanionFile.RecordSize(fileType);

                                List<CompanionFile> cfList = new List<CompanionFile>();
                                byte[] data = LoadSectionFromReader(reader, recordCount * recordSize, fileType);

                                if (data.Length == (recordCount * recordSize))
                                {
                                    for (int i = 0; i < recordCount; i++)
                                    {
                                        CompanionFile cf = CompanionFile.CreateCompanionFile(fileType, i * recordSize, data);
                                        cf.Index = i;
                                        cfList.Add(cf);
                                    }
                                }

                                Files.Add(fileType, cfList);
                            }
                        }
                        else
                            break;
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("Error parsing Workbench file: " + ex.Message);
                    }
                }

                reader.Close();
                reader.Dispose();
            }
        }