うん!さらに調査を行った結果、良い解決策が得られました。トピックとして「バイト配列を FileStream に読み込む方法」を投稿しました。バイト配列を FileStream に読み込むことはできません。ドライバー上のファイルをバイト配列に読み込むために使用するだけです。そのため、コードを少し変更し、FileStream を使用して読み取るファイルを取得しました。ファイルの作り方
このコンテキストでは、オブジェクトがあります。オブジェクトはあなたが望むものです!
コレクションをサンブル オブジェクトとして使用します。
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();
}
オブジェクトをファイルに書き込んだ後、それを読み込んでオブジェクトに戻すメソッドが必要です。だから私はこの方法を書きます:
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;
}
上記のいくつかの手順を実行した後、任意の型オブジェクトをファイルに書き込んでから、元のオブジェクトに読み戻すことができるようになりました。私がそこに得た助けに感謝します。