Java,C#應用二進制序列化、反序列化操作數據。本站提示廣大學習愛好者:(Java,C#應用二進制序列化、反序列化操作數據)文章只能為提供參考,不一定能成為您想要的結果。以下是Java,C#應用二進制序列化、反序列化操作數據正文
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也就四句代碼,
過往的同伙們你們看明確了嗎?不明確的還可以發問哦!