begin process at 2013 05 22 08:53:12
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

.NET

 > SÉRIALISATION (BINAIRE) OBJECT, IMAGE, CLASS ...

SÉRIALISATION (BINAIRE) OBJECT, IMAGE, CLASS ...


 Information sur la source

Note :
Aucune note
Catégorie :.NET Source .NET ( DotNet ) Classé sous :serialisation, binaire, enregistrer, fichier Niveau :Débutant Date de création :18/04/2012 Date de mise à jour :18/04/2012 17:34:13 Vu :2 500

Auteur : wortmany

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note


 Description

C'est une petite classe qui permet de sérialiser un Object, Avec quelques exemples d'utilisation.





Source

  • //**************************************************************
  • // classe de test
  • //**************************************************************
  • [Serializable]
  • public class clsTest
  • {
  • //Varaibles Sauvergardées
  • public String _sNom;
  • public DataTable _dtVal;
  • [NonSerialized]
  • //Varaibles non Sauvergardées
  • public String _sVaraible;
  • }
  • //**************************************************************
  • // Exemples d'utilisation
  • //**************************************************************
  • // **** Pour un datatable ****
  • // Sérialisation
  • DataTable dt = new DataTable();
  • dt.Columns.Add("Test1");
  • dt.Columns.Add("Test2");
  • dt.Columns.Add("Test3");
  • dt.Rows.Add("1;2;3".Split(';'));
  • dt.Rows.Add("4;5;6".Split(';'));
  • Serialisation.Save("Test.dt", dt);
  • // Désérialisation
  • DataTable dt2 = (DataTable)Serialisation.Load("Test.dt");
  • dataGridView1.DataSource = dt2;
  • // **** Pour une image ****
  • // Sérialisation
  • Bitmap btp1 = new Bitmap(@"Image.jpg");
  • Serialisation.Save("Test.image", btp1);
  • // Désérialisation
  • Bitmap btp2 = (Bitmap)Serialisation.Load("Test.image");
  • btp2.Save("test.jpg");
  • // **** Pour une classe ****
  • // Sérialisation
  • clsTest test = new clsTest();
  • test._sNom = "Test3";
  • test._dtVal = new DataTable();
  • test._dtVal.Columns.Add("tr12uc");
  • test._dtVal.Columns.Add("c3ruc");
  • test._dtVal.Rows.Add("1;2".Split(';'));
  • test._dtVal.Rows.Add("4;5".Split(';'));
  • Serialisation.Save("Test.test", test);
  • // Désérialisation
  • clsTest test2 = (clsTest)Serialisation.Load("Test.test");
  • dataGridView2.DataSource = test2._dtVal;
  • //**************************************************************
  • // Classe de Sérialisation
  • //**************************************************************
  • using System;
  • using System.IO;
  • using System.Runtime.Serialization.Formatters.Binary;
  • public static class Serialisation
  • {
  • public static Boolean Save(String sNom, Object oObj)
  • {
  • Boolean _bRet = false;
  • BinaryFormatter bf = new BinaryFormatter();
  • FileStream fs = null;
  • FileInfo _Fi = null;
  • FileInfo _FiTemp = null;
  • try
  • {
  • String sFileName = sNom;
  • String sFileNameTemp = sNom + ".sav";
  • _Fi = new FileInfo(sFileName);
  • _FiTemp = new FileInfo(sFileNameTemp);
  • //si fichier existe on cree une sauvegarde au cas ou :D
  • if (_Fi.Exists)
  • _Fi.CopyTo(_FiTemp.FullName, true);
  • fs = new FileStream(sFileName, FileMode.Create);
  • bf.Serialize(fs, oObj);
  • fs.Close();
  • _bRet = true;
  • }
  • catch (Exception ex)
  • {
  • if (fs != null)
  • fs.Close();
  • //si plantage lors de la sauvegarde on remplace le fichier par la sauvegarde !
  • if (_FiTemp.Exists)
  • _FiTemp.CopyTo(_Fi.FullName, true);
  • _bRet = false;
  • }
  • return _bRet;
  • }
  • public static Object Load(String sFile)
  • {
  • Object oRet;
  • FileStream fs = null;
  • try
  • {
  • fs = new FileStream(sFile, FileMode.Open);
  • BinaryFormatter bf = new BinaryFormatter();
  • oRet = (Object)bf.Deserialize(fs);
  • fs.Close();
  • }
  • catch
  • {
  • if (fs != null)
  • fs.Close();
  • oRet = null;
  • }
  • return oRet;
  • }
  • }
//**************************************************************
// classe de test
//**************************************************************
[Serializable]
public class clsTest
{
    //Varaibles Sauvergardées
    public String _sNom;
    public DataTable _dtVal;
    [NonSerialized]
    //Varaibles non Sauvergardées
    public String _sVaraible;
}
//**************************************************************
// Exemples d'utilisation
//**************************************************************
// **** Pour un datatable ****
// Sérialisation
DataTable dt = new DataTable();
dt.Columns.Add("Test1");
dt.Columns.Add("Test2");
dt.Columns.Add("Test3");
dt.Rows.Add("1;2;3".Split(';'));
dt.Rows.Add("4;5;6".Split(';'));
Serialisation.Save("Test.dt", dt);
// Désérialisation
DataTable dt2 = (DataTable)Serialisation.Load("Test.dt");
dataGridView1.DataSource = dt2;

// **** Pour une image ****
// Sérialisation
Bitmap btp1 = new Bitmap(@"Image.jpg");
Serialisation.Save("Test.image", btp1);
// Désérialisation
Bitmap btp2 = (Bitmap)Serialisation.Load("Test.image");
btp2.Save("test.jpg");

// **** Pour une classe ****
// Sérialisation
clsTest test = new clsTest();
test._sNom = "Test3";
test._dtVal = new DataTable();
test._dtVal.Columns.Add("tr12uc");
test._dtVal.Columns.Add("c3ruc");
test._dtVal.Rows.Add("1;2".Split(';'));
test._dtVal.Rows.Add("4;5".Split(';'));
Serialisation.Save("Test.test", test);
// Désérialisation
clsTest test2 = (clsTest)Serialisation.Load("Test.test");
dataGridView2.DataSource = test2._dtVal;

//**************************************************************
// Classe de Sérialisation
//**************************************************************
using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

public static class Serialisation
{
    public static Boolean Save(String sNom, Object oObj)
    {
        Boolean _bRet = false;
        BinaryFormatter bf = new BinaryFormatter();
        FileStream fs = null;
        FileInfo _Fi = null;
        FileInfo _FiTemp = null;
        try
        {
            String sFileName = sNom;
            String sFileNameTemp = sNom + ".sav";
            _Fi = new FileInfo(sFileName);
            _FiTemp = new FileInfo(sFileNameTemp);

            //si fichier existe on cree une sauvegarde au cas ou :D
            if (_Fi.Exists)
                _Fi.CopyTo(_FiTemp.FullName, true);

            fs = new FileStream(sFileName, FileMode.Create);
            bf.Serialize(fs, oObj);
            fs.Close();
            _bRet = true;
        }
        catch (Exception ex)
        {
            if (fs != null)
                fs.Close();
            //si plantage lors de la sauvegarde on remplace le fichier par la sauvegarde !
            if (_FiTemp.Exists)
                _FiTemp.CopyTo(_Fi.FullName, true);
            _bRet = false;
        }
        return _bRet;
    }

    public static Object Load(String sFile)
    {
        Object oRet;
        FileStream fs = null;
        try
        {
            fs = new FileStream(sFile, FileMode.Open);

            BinaryFormatter bf = new BinaryFormatter();
            oRet = (Object)bf.Deserialize(fs);
            fs.Close();
            
        }
        catch
        {
            if (fs != null)
                fs.Close();
            oRet = null;
        }
        return oRet;
    }
}

 Conclusion

c'est ma première source soyez indulgent ^^


 Historique

18 avril 2012 17:34:13 :
Ajout des Séparations

 Sources du même auteur

Source .NET (Dotnet) CLASSE D'ENVOIE DE MAIL PAR SMTPCLIENT

 Sources de la même categorie

UTILISER LA SOURIS POUR SCROLLER MON FLOWLAYOUTPANEL par SamsonB
Source .NET (Dotnet) APPEL C DEPUIS C# / APPEL C# DEPUIS C par Moomoon07
Source avec Zip Source .NET (Dotnet) UN PETIT LOGICIEL DE VISUALISATION DE PHOTO par okosa
Source avec Zip Source avec une capture Source .NET (Dotnet) PROBLÈME DU SAC À DOS : RÉSOLUTION PAR MINIMISATION par olivieram2
Source avec Zip Source avec une capture Source .NET (Dotnet) RESOLVER DU JEUX DE L'EMISSION DES CHIFFRES ET DES LETTRES D... par rabixpvb

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) NTFS RECOVER : RÉCUPÉRER LES FICHIERS EFFACÉS D'UNE PARTITIO... par ShareVB
Source avec Zip Source .NET (Dotnet) DÉFRAGMENTER UN FICHIER par ShareVB
Source avec Zip Source .NET (Dotnet) SAVOIR QUEL FICHIER EST UTILISÉ PAR TELLE APPLICATION : LA L... par ShareVB
Source .NET (Dotnet) [C#] TUTORIAL BASIQUE (FICHIER BINAIRE, SÉRIALISATION) par scoubidou944
Source avec Zip Source .NET (Dotnet) [SDK 1.0] UTILISATION DE LA SERIALISATION (BINAIRE) par Karlo

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Enregistrer un fichier binaire avec un saveFileDialog ? [ par fredouille312 ] Bonjour &#224; tous !Mon probl&#232;me &#224; moi, c'est que je n'arrive pas &#224; enregistrer un fichier binaire via un saveFileDialog.Alors si quel lire un fichier binaire [ par ultrafil ] Salut, j'ai besoin de lire des données dans un fichier binaire.Mon problème c'est que je n'arrive pas à faire de conversion en byte[]Je m'explique, j' Fichier Binaire [ par abdoulax ] Bon voil&#224; mon pb :En fait je suis en train de faire un pgm pour envoyer un fichier. Le pb c que parfois il arrive que certain byte ne soit pas en Enregistrer un fichier déja ouvert ! [ par stela86 ] Bjr, j'arrive a suavegarder mon graphe dans un fichier xml, j'arrive aussi &#224; le charger mais je ne sais pas comment faire pour enregistrer apr&#2 Ecrire dans un fichier en binaire [ par Fildomen ] SalutComment faire si je veux ecrire exactement la suite "00101" dans un fichier, tt ca en binaire, la conversion de cette chaine en byte et son stock C# Enregistrer dans un fichier text [ par dib.fred ] voila je voudrai bien pouvoir enregister dans un fichier txt des donnees(string) qui viennent de textBox.je cree un fichier:FileStream fs =new FileSt XML & XSL => Enregistrer résultat [ par maevacmoi ] Hello !J'ai un gros problème (C#.net). J'ai un fichier XML lié à un fichier XSL (~feuille de style). Le résultat s'affiche correctement dans le browse Lecture fichier binaire et conversion hexa --> string [ par kineton ] Bonjour &#224; tous, Je suis d&#233;veloppeur en vc++ 6.0 et je commence juste &#224; programmer en C# avec VS.Net.Je cherche &#224; lire un fichier b Comment afficher le contenu d'un fichier WORD (que j'ai en byte[]) en déclenchant l'ouverture du WORD de l'utilisateur SANS enregistrer le fichier sur le disque dur [ par vladam ] Bonjour, Je travail avec en C#, Windows.Forms, framework 1.1, MSDev 2003 et SQLServer 2005. <SPAN lang=FR-BE styl [TCP]Envoyer un fichier en mode binaire [ par Sobieski ] Voila mon probleme : Je dois envoyer un fichier mp3 en mode binaire en TCP &#224; un device. Par contre je sais pas du tout comment faire (je fais du


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2013
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,973 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales