comparison MetroWpf/MetroWpf.Framework/FileSerializer.cs @ 15:060f02cd4591

Initial commit, pre airport work
author stevenh7776 stevenhollidge@hotmail.com
date Mon, 12 Mar 2012 23:05:21 +0800
parents
children
comparison
equal deleted inserted replaced
14:741981715d94 15:060f02cd4591
1 using System;
2 using System.Collections.Generic;
3 using System.IO;
4 using System.Runtime.Serialization;
5 using System.Text;
6 //using Newtonsoft.Json;
7
8 namespace MetroWpf.Framework
9 {
10 public class FileSerializer
11 {
12 //public void SerializeJson(string filename, object obj)
13 //{
14 // string json = JsonConvert.SerializeObject(obj);
15 // Serialize(filename, json);
16 //}
17
18 public void Serialize(string filename, string text)
19 {
20 using (StreamWriter writer = new StreamWriter(filename))
21 { writer.Write(text); }
22 }
23
24 public void Serialize(string filename, IFormatter formatter, object objectToSerialize)
25 {
26 using (Stream stream = File.Open(filename, FileMode.Create))
27 formatter.Serialize(stream, objectToSerialize);
28 }
29
30 public string Deserialize(string filename)
31 {
32 StringBuilder sb = new StringBuilder();
33 using (StreamReader reader = new StreamReader(filename))
34 if (reader != null)
35 sb.AppendLine(reader.ReadToEnd());
36
37 return sb.ToString();
38 }
39
40 //public List<T> DeserializeJson<T>(string filename)
41 //{
42 // var json = Deserialize(filename);
43 // return JsonConvert.DeserializeObject<List<T>>(json);
44 //}
45
46 public T[] Deserialize<T>(string filename, IFormatter formatter, Type type)
47 {
48 using (Stream stream = File.Open(filename, FileMode.Open))
49 {
50 var items = (T[])formatter.Deserialize(stream);
51 return items;
52 }
53 }
54 }
55 }