Accueil > > > SÉRIALISATION (BINAIRE) OBJECT, IMAGE, CLASS ...
SÉRIALISATION (BINAIRE) OBJECT, IMAGE, CLASS ...
Information sur la source
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;
}
}
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
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Enregistrer un fichier binaire avec un saveFileDialog ? [ par fredouille312 ]
Bonjour à tous !Mon problème à moi, c'est que je n'arrive pas à 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à 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 à le charger mais je ne sais pas comment faire pour enregistrer apr
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 à tous, Je suis développeur en vc++ 6.0 et je commence juste à programmer en C# avec VS.Net.Je cherche à 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 à un device. Par contre je sais pas du tout comment faire (je fais du
|
Derniers Blogs
VOTEZ POUR LE TOP 10 DES INFLUENCEURS SHAREPOINT FRANCOPHONES !VOTEZ POUR LE TOP 10 DES INFLUENCEURS SHAREPOINT FRANCOPHONES ! par Patrick Guimonet
Si ce n'est déjà fait (comme plus de 600 personnes déjà), il est encore temps de voter pour le concours TOP 10 des influenceurs SharePoint francophones ! Il est organisé par harmon.ie et accessible ici : http://harmon.ie/top-...
Cliquez pour lire la suite de l'article par Patrick Guimonet [CONF'SHAREPOINT] DERNIER RAPPEL ! :-)[CONF'SHAREPOINT] DERNIER RAPPEL ! :-) par Patrick Guimonet
La Conf'SharePoint en chiffres c'est : 3 jours de SharePoint ! 4 parcours et 60 sessions 17 partenaires représentant toutes les fac...
Cliquez pour lire la suite de l'article par Patrick Guimonet [ #SHAREPOINT 2013 ] LES MODèLES DE SITES STANDARDS.[ #SHAREPOINT 2013 ] LES MODèLES DE SITES STANDARDS. par Patrick Guimonet
C'est un point peu mis en avant mais SharePoint 2013 a été l'occasion de remettre de l'ordre dans les modèles de sites. Tout d'abord, un certain nombre de modèles ont été tout simplement rendus obsolètes (cf. Fonctionnalités déco...
Cliquez pour lire la suite de l'article par Patrick Guimonet 10 ERREURS DE COMPRéHENSION CONCERNANT SHAREPOINT.10 ERREURS DE COMPRéHENSION CONCERNANT SHAREPOINT. par Patrick Guimonet
Une excellente infographie (qui a sa source ici :http://www.evokeit.com/sharepoint-blog/misconceptions-of-microsoft-sharepoint) que j'ai traduite et commentée sur le blog d'Abalon : http://abalon.fr/blog/10-erreurs-de-comprhension-...
Cliquez pour lire la suite de l'article par Patrick Guimonet
Logiciels
Nego Facturation (1.84)NEGO FACTURATION (1.84)Nego Facturation est un logiciel complet qui permet de gérer vos factures et devis très simplemen... Cliquez pour télécharger Nego Facturation Revealer Keylogger Free (2.07)REVEALER KEYLOGGER FREE (2.07)Keylogger invisible et gratuit pour Windows 8, 7, Vista ou XP. Revealer Keylogger Free vous perme... Cliquez pour télécharger Revealer Keylogger Free Devis-Factures PHMSD (2.1.0.1)DEVIS-FACTURES PHMSD (2.1.0.1)Configuration minimale
Nécessite Windows™ 2000, XP, Windows 7, 8, Vista (Service Pack à... Cliquez pour télécharger Devis-Factures PHMSD Ludoprêt (3.2)LUDOPRêT (3.2)Logiciel gratuit de gestion de ludothèque.
Gestion des jeux et des adhérents.
Gestion des for... Cliquez pour télécharger Ludoprêt 974 Application Server (13.2.1.3)974 APPLICATION SERVER (13.2.1.3)Ecommerce, Blogueur, Vitrine, Newsletter, Java IDE, ..., in the cloud et sous haute dispo. Facile... Cliquez pour télécharger 974 Application Server
|