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

网友投稿 231 2023-08-06


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

java使用二进制序列化、反序列化的操作首先,要引入java.io下面相关包,或者直接写import java.io.*;

下面,为了书写操作的方便,采用复制文件,和throws声明异常的方式来写

复制代码 代码如下:

public void test6() throws IOException {

byte[] b = new byte[1tIrMX024];//定义字节数组,缓冲

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

    {

///

        /// 序列化保存数据

        ///

        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();

            }

///

        /// 加载序列化信息

        ///

        public void Load()

        {

FileStream fs = null;

                try

                {

&tIrMXnbsp;                   fs = new FileStream("文件路径", FileMode.OpenOrCreate);

                    BinaryFormatter bf = new BinaryFormatter();

                    对象接收= (对象的类型)bf.Deserialize(fs); &ntIrMXbsp; //强制类型转换

                }

                catch (Exception ex)

                {

                    MessageBox.Show(ex.Message);

                }

                finally

                {

                    fs.Close();

                }

这就是在C#中序列化文件的使用,其实这个挺简单的,如果不加try-catch-finally也就四句代码,

过往的朋友们你们看明白了吗?不明白的还可以提问哦!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java实现mp3合并的方法
下一篇:java转发和重定向的区别
相关文章

 发表评论

暂时没有评论,来抢沙发吧~