Streamの基本
FileStream...1byte単位や、複数byte単位での読み書きが可能。
TextReader...
StreamReader/StreamWriter
...byteデータを扱うストリーム・オブジェクトをラップするクラスで、
ストリームの種類(ファイル・ストリームか、ネットワーク・ストリームかなど)
にかかわらず文字単位の読み書きを行うRead/Writeメソッドや、
行単位の読み書きを行うReadLine/WriteLineメソッドが提供される。
// デシリアライズに渡すためのMemoryStreamを用意 using (System.IO.MemoryStream memory_stream = new System.IO.MemoryStream()) { // MemoryStreamに書くためのStreamWriter を用意 using (System.IO.StreamWriter stream_writer = new System.IO.StreamWriter(memory_stream)) { // 1行データをStreamWriterのバッファに書く stream_writer.WriteLine(log); // StreamWriterのバッファからMemoryStreamに書く stream_writer.Flush(); // MemoryStreamの位置を先頭に移動 memory_stream.Seek(0, System.IO.SeekOrigin.Begin); // XmlSerializerオブジェクトを作成 // DataConfig型のXMLシリアライザを用意 System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(DataConfig)); // XMLファイルから読み込み、逆シリアル化する // DataConfigクラスでデシリアライズ ConfigData = (DataConfig)serializer.Deserialize(memory_stream); } }