Encog.ML.Data.Buffer.EncogEGBFile.Open C# (CSharp) Method

Open() public method

Open an existing EGB file.
public Open ( ) : void
return void
        public void Open()
        {
            try
            {
                _stream = new FileStream(_file, FileMode.Open, FileAccess.Read);
                _binaryReader = new BinaryReader(_stream);
                _binaryWriter = null;

                bool isEncogFile = true;

                isEncogFile = isEncogFile ? _binaryReader.ReadByte() == 'E' : false;
                isEncogFile = isEncogFile ? _binaryReader.ReadByte() == 'N' : false;
                isEncogFile = isEncogFile ? _binaryReader.ReadByte() == 'C' : false;
                isEncogFile = isEncogFile ? _binaryReader.ReadByte() == 'O' : false;
                isEncogFile = isEncogFile ? _binaryReader.ReadByte() == 'G' : false;
                isEncogFile = isEncogFile ? _binaryReader.ReadByte() == '-' : false;

                if (!isEncogFile)
                {
                    throw new BufferedDataError(
                        "File is not a valid Encog binary file:"
                        + _file);
                }

                var v1 = (char) _binaryReader.ReadByte();
                var v2 = (char) _binaryReader.ReadByte();
                String versionStr = "" + v1 + v2;

                try
                {
                    int version = int.Parse(versionStr);
                    if (version > 0)
                    {
                        throw new BufferedDataError(
                            "File is from a newer version of Encog than is currently in use.");
                    }
                }
                catch (Exception)
                {
                    throw new BufferedDataError("File has invalid version number.");
                }

                _inputCount = (int) _binaryReader.ReadDouble();
                _idealCount = (int) _binaryReader.ReadDouble();

                _recordCount = _inputCount + _idealCount + 1;
                _recordSize = _recordCount*DoubleSize;
                _numberOfRecords = (int) ((_stream.Length - HeaderSize)/_recordSize);
            }
            catch (IOException ex)
            {
                throw new BufferedDataError(ex);
            }
        }

Usage Example

 /// <summary>
 /// Construct a buffered dataset using the specified file.
 /// </summary>
 /// <param name="binaryFile">The file to read/write binary data to/from.</param>
 public BufferedMLDataSet(String binaryFile)
 {
     _file = binaryFile;
     _egb  = new EncogEGBFile(binaryFile);
     if (File.Exists(_file))
     {
         _egb.Open();
     }
 }
All Usage Examples Of Encog.ML.Data.Buffer.EncogEGBFile::Open