Бинарный файл, созданный одним приложением, не читается другим приложением - C#
Формулировка задачи:
Добрый день. Проблема: Первое приложение создает List<MyClass> и сериализует в бинарный файл. Другое приложение, использующее MyClass, этот файл не читает. Заранее благодарен за совет.
Решение задачи: «Бинарный файл, созданный одним приложением, не читается другим приложением»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Runtime.Serialization.Formatters.Binary; namespace ConsoleClassReader { [Serializable] public class Person { public Person(string name, int age) { this.name = name; this.age = age; } public string name; public int age; } [Serializable] public class Container { public const string filename = "data.dt"; public List<Person> list = new List<Person>(); public void SaveFile() { using (FileStream fs = new FileStream(filename, FileMode.OpenOrCreate)) { BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(fs, list); } } public void OpenFile() { try { using (FileStream fs = new FileStream(filename, FileMode.Open)) { BinaryFormatter bf = new BinaryFormatter(); list = (List<Person>)bf.Deserialize(fs); } } catch { Console.WriteLine("Can not open file"); } } } class Program { static void Main(string[] args) { Container c = new Container(); c.OpenFile(); for (int i = 0; i < c.list.Count; i++ ) { Console.WriteLine("{0} {1}", c.list[i].name, c.list[i].age); } Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д