Yeah! Now I got a good solution after doing some more research. As the topic I have posted "How to read byte array into FileStream". We cannot read byte array into FileStream, it just use to read a file on driver to byte array. So I have change a little bit on my code, and now I have a file to read it using FileStream. How I made a file?
In this context I have an object. The object is anything as you want!
I use a collection as a samble object.
Collection<object> list = new Collection<object>(); //Now I will write this list to a file. fileName is what you want and be sure that folder Files is exist on server or at the root folder of your project WriteFile(list, Server.MapPath("~/Files/" + fileName)); //The method to write object to file is here public static void WriteFile<T>(T obj, string path) { FileStream serializeStream = new FileStream(path, FileMode.Create); BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(serializeStream, obj); serializeStream.Flush(); serializeStream.Close(); }
After I have wrote my object to a file, I need a method to read it back to object. So I do write this method:
public static Collection<object> ReatFile(string fileName){ //I have to read the file which I have wrote to an byte array byte[] file; using (var stream = new FileStream(Server.MapPath("~/Files/" + fileName), FileMode.Open, FileAccess.Read)) { using (var reader = new BinaryReader(stream)) { file = reader.ReadBytes((int)stream.Length); } } //And now is what I have to do with the byte array of file is to convert it back to object which I have wrote it into a file //I am using MemoryStream to convert byte array back to the original object. MemoryStream memStream = new MemoryStream(); BinaryFormatter binForm = new BinaryFormatter(); memStream.Write(file, 0, file.Length); memStream.Seek(0, SeekOrigin.Begin); Object obj = (Object)binForm.Deserialize(memStream); Collection<object> list = (Collection<object>)obj; return list; }
After doing some steps above, I am now can write any type object to file and then read it back to original object. Thank too much for any help I have got there.
FileStreamdoes not take 0 arguments in the constuctor