Бинарный файл, созданный одним приложением, не читается другим приложением - 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();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы