Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/04/09 16:50:34 (15 years ago)
Author:
epitzer
Message:

Serialization with streams. (#603)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Core/3.3/PersistenceManager.cs

    r1667 r1734  
    2828using HeuristicLab.PluginInfrastructure;
    2929using HeuristicLab.Persistence.Default.Xml;
     30using HeuristicLab.Persistence.Core;
    3031
    3132namespace HeuristicLab.Core {
     
    5152    /// <param name="stream">The (file) stream where the object should be saved.</param>
    5253    public static void Save(IStorable instance, Stream stream) {
    53       string tempfile = Path.GetTempFileName();
    54       XmlGenerator.Serialize(instance, tempfile);
    55       Stream reader = new FileStream(tempfile, FileMode.Open);
    56       byte[] buffer = new byte[1024];
    57       int bytesRead = 0;
    58       do {
    59         bytesRead = reader.Read(buffer, 0, buffer.Length);
    60         stream.Write(buffer, 0, bytesRead);
    61       } while (bytesRead > 0);
    62       reader.Close();
    63       stream.Close();
    64       File.Delete(tempfile);
     54      XmlGenerator.Serialize(instance, stream, ConfigurationService.Instance.GetConfiguration(new XmlFormat()));     
    6555    }
    6656    /// <summary>
     
    7262    /// <returns>The loaded object.</returns>
    7363    public static IStorable Load(string filename) {
    74       return (IStorable)XmlParser.DeSerialize(filename);
     64      return (IStorable)XmlParser.Deserialize(filename);
    7565    }
    7666    /// <summary>
     
    8272    /// <returns>The loaded object.</returns>
    8373    public static IStorable Load(Stream stream) {
    84       string tempfile = Path.GetTempFileName();
    85       Stream writer = new FileStream(tempfile, FileMode.CreateNew);
    86       byte[] buffer = new byte[1024];
    87       int bytesRead = 0;
    88       do {
    89         bytesRead = stream.Read(buffer, 0, buffer.Length);
    90         writer.Write(buffer, 0, bytesRead);
    91       } while (bytesRead > 0);
    92       stream.Close();
    93       writer.Close();
    94       object o = XmlParser.DeSerialize(tempfile);
    95       File.Delete(tempfile);
    96       return (IStorable)o;
     74      return (IStorable)XmlParser.Deserialize(stream);
    9775    }
    9876
Note: See TracChangeset for help on using the changeset viewer.