java使用二進位序列化、反序列化的操作首先,要引入java.io下面相關包,或直接寫import java.io.*;
下面,為了書寫操作的方便,採用複製文件,和throws聲明異常的方式來寫
複製代碼代碼如下:
public void test6() throws IOException {
byte[] b = new byte[1024];//定義位元組數組,緩衝
FileInputStream in = new FileInputStream("E://logo.gif");//建立輸入流對象
FileOutputStream out = new FileOutputStream("E://My.gif");//建立輸出流對象
DataInputStream input = new DataInputStream(in);//建立輸入二進位流
DataOutputStream dout = new DataOutputStream(out);//建立輸出二進位流
int num = input.read(b);// 讀取二進位到b中
while (num != -1) {
dout.write(b, 0, num);// 將讀取的陣列寫入到輸出流
num = input.read(b);// 重新再讀取
}
// 依序關閉所有流對象
input.close();
dout.close();
in.close();
out.close();
System.out.println("複製成功!");
}
初略程式碼,僅供參考!
C#使用二進位序列化、反序列化的操作首先,引入命名空間using System.Runtime.Serialization.Formatters.Binary;用以操作序列化和反序列化還有,在牽涉到序列化的自定義類的類上方加上一個指示類別[Serializable]
範例:
[Serializable]
複製代碼代碼如下:
public class PlayManager
{
/// <summary>
/// 序列化保存數據
/// </summary>
public void Save()
{
FileStream fs = null;
try
{
fs = new FileStream("儲存檔案的路徑", FileMode.Create);
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs, 要保存的物件);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
fs.Close();
}
/// <summary>
/// 載入序列化訊息
/// </summary>
public void Load()
{
FileStream fs = null;
try
{
fs = new FileStream("檔案路徑", FileMode.OpenOrCreate);
BinaryFormatter bf = new BinaryFormatter();
物件接收= (物件的類型)bf.Deserialize(fs); //強制類型轉換
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
fs.Close();
}
這就是在C#中序列化檔案的使用,其實這個蠻簡單的,如果不加try-catch-finally也就四句程式碼,
過往的朋友你們看懂了嗎?不明白的還可以提問哦!