欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java,C#使用二进制序列化、反序列化操作数据

程序员文章站 2024-03-02 08:48:10
java使用二进制序列化、反序列化的操作首先,要引入java.io下面相关包,或者直接写import java.io.*; 下面,为了书写操作的方便,采用复制文件,和th...

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也就四句代码,
过往的朋友们你们看明白了吗?不明白的还可以提问哦!