public static object FileToObject(string _FileName) { try { // Open file for reading System.IO.FileStream _FileStream = new System.IO.FileStream(_FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read); // attach filestream to binary reader System.IO.BinaryReader _BinaryReader = new System.IO.BinaryReader(_FileStream); // get total byte length of the file long _TotalBytes = new System.IO.FileInfo(_FileName).Length; // read entire file into buffer byte[] _ByteArray = _BinaryReader.ReadBytes((Int32)_TotalBytes); // close file reader and do some cleanup _FileStream.Close(); _FileStream.Dispose(); _FileStream = null; _BinaryReader.Close(); // convert byte array to memory stream System.IO.MemoryStream _MemoryStream = new System.IO.MemoryStream(_ByteArray); // create new BinaryFormatter System.Runtime.Serialization.Formatters.Binary.BinaryFormatter _BinaryFormatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); // set memory stream position to starting point _MemoryStream.Position = 0; // Deserializes a stream into an object graph and return as a object. return _BinaryFormatter.Deserialize(_MemoryStream); } catch (Exception _Exception) { // Error Console.WriteLine("Exception caught in process: {0}", _Exception.ToString()); } // Error occured, return null return null; }
0 comments:
Post a Comment