Skip to main content

C# Serialization Tutorial Part 1 : Serialize object in file stream

Hello Peeps. Came across this topic while doing our game saving data feature.

this post only cover basic serialization.

basically serialization help us to convert our object into stream of bytes so that our object can be stored or transmit over in memory/file/database.

before we can proceed with the serialization tutorial, we need to set the user permission to our target folder path.

1. Set the folder path to be accessible and can be override. This step is to avoid our program/apps from throwing unauthorizedaccessexception.

   - for my scenario, im choosing the path of D:\SelfLearning\c#\Serialization to store my data file.

Right click the target folder, select on Security tab

Select on Users and give full control or modify permission to the user.
2. Now we are going to write our code. First we need to setup our folder path.

3. We going to create our file.  In this tutorial we are using FileStream type, other then FileStream, we can make use of MemoryStream if we wishes to store the serialized object into in memory space not into a file.

4. We instantiate our DataObjectSerializable instance. before doing that, we need to create a class that allows its object to be serialized. in this tutorial we will create a DataObjectSerializable .class, it contains name and age fields.


       
set the name and age of our dataobject.

5. Serialized the instance to our filestream. We are using binaryformatter means that we want to serialize our object in binary form. .Net framework also allow serialization in SOAP format. after we have serialized our object dont forget to close the stream object in order to close the file and release any resources that are using the file.

6. Run our application.

7. Note that we managed to create our data file.

8. Our file content. contains unreadable characters and readable character. This can conclude serialization only is not sufficient for secured data storage. In next tutorial i ll share on deserialization , encrpytion and decryption.

9. Happy Coding! hope this helps.

You may refer the full code in my github repo :
https://github.com/aliaramli/c-tutorials/tree/master/Serialization/SerializationExample/SerializationExample

All feedback are most welcome.

references :

http://stackoverflow.com/questions/27555770/error-an-unhandled-exception-of-type-system-unauthorizedaccessexception-occur

https://msdn.microsoft.com/en-us/library/ms233843.aspx

https://msdn.microsoft.com/en-us/library/b9skfh7s%28v=vs.110%29.aspx

https://msdn.microsoft.com/en-us/library/system.runtime.serialization.formatters.binary(v=vs.110).aspx

https://msdn.microsoft.com/en-us/library/aa328800%28v=vs.71%29.aspx

Comments

Popular posts from this blog

Tutorial on min3d framework

Salam all. This time I want to share a bit, how I tried out the mid3d framework for the first time. Acknowledge that I am new to android development.   I just follow the tutorial on Mat-d website but there are certain things that I don’t understand how they actually work. Thus I want to share what I did step by step to make this example work. For explanations on coding/steps or errors please visit Mat-d website here J you ll understand more …. mat-d original tutorial load a 3d obl model with min3d for android Step one . Download min3d into your eclipse . Select File>Import>SVN>Checkout projects from SVN Next. Choose radio button : Create a new repository location Next. Enter the svn location http://min3d.googlecode.com/svn/trunk the thing that we want to check out from the svn is the min3d framework code. Step two. Download obj file  www.3dvia.com …you need to register first..it has free acc version.. and download the...

Tutorial on Min3D framework using Android Studio

Salam peeps, UPDATES***, the model on the old link is no longer working. so i have create a github repo, where i put the source code in a project, you guys can try to clone in and run on your android studio device emulator or directly on your phone, Ive replaced the model with a cube. https://github.com/aliaramli/Min3DTutorial Previously i ve posted tutorial on min3D using eclipse IDE, i believe most of us has moved to Android Studio IDE in developing android apps? As previous tutorial shows a lot of support from readers and among hot post in my blog, i ve decided to post the same tutorial but this time using Android Studio. For those who are familiar with Eclipse/Android Studio migration they might not have problem in running this tutorial . For more detail explanation on min3D please visit this website page Ok lets get started. Step One Create a new android project in android studio. you may name it as what you like, below are how i defined my project settings. ...

2023 Side Projects

March 2023 - Setup & Launched Point Of Sale system for NGO using Loyverse Learning :  Pros: Can setup on multiple devices, on the go, in store, user friendly, fully supported printer and bar scanner, free version available Cons: OUM settings is too simplified but still able to fulfill the requirements.  Dec 2023 - Setup an open source Knowledge Based System using Growi for NGO  Deployment: Docker container Reference : Install Docker using APT Repository Install Docker Compose sudo apt install docker-compose Install Growi on Docker Growi docker is using node js, elasticsearch  and MongoDB as its tech stack run on detached mode! docker-compose up -d update the docker-compose.yml to use the same network networks:   growi_network:     driver: bridge Mount Elastic Block Storage (Free Tier given by AWS) for Docker usage. to solve out of storage of basic storage given is on 7.6gb. EBS is 20gb extra!! lsblk df -h sudo mkdir /mnt/xxx sudo mount /dev/x...