java对象怎么转byte数组

55次阅读
没有评论

共计 1275 个字符,预计需要花费 4 分钟才能阅读完成。

要将 Java 对象转换为 byte 数组,你可以使用 Java 的序列化和反序列化机制。以下是一个示例代码,其中将一个名为 obj 的 Java 对象转换为 byte 数组:

import java.io.ByteArrayOutputStream;
import java.io.ObjectOutputStream;
import java.io.IOException;

public class ObjectToByteArray {public static byte[] convertToByteArray(Object obj) throws IOException {ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
        ObjectOutputStream objOutStream = new ObjectOutputStream(byteOutStream);
        objOutStream.writeObject(obj);
        objOutStream.flush();
        byte[] byteArray = byteOutStream.toByteArray();
        byteOutStream.close();
        objOutStream.close();
        return byteArray;
    }

    public static void main(String[] args) {try {// 创建一个示例对象
            MyClass obj = new MyClass("Hello World");

            // 将对象转换为 byte 数组
            byte[] byteArray = convertToByteArray(obj);

            // 打印 byte 数组
            for (byte b : byteArray) {System.out.print(b + " ");
            }
        } catch (IOException e) {e.printStackTrace();
        }
    }
}

class MyClass implements java.io.Serializable {private String message;

    public MyClass(String message) {this.message = message;
    }

    public String getMessage() {return message;
    }
}

在上述示例代码中,convertToByteArray方法将 Java 对象转换为 byte 数组。首先,创建一个 ByteArrayOutputStream 对象和一个 ObjectOutputStream 对象,用于将对象序列化为字节流。然后,调用 writeObject 方法将对象写入字节流,再使用 toByteArray 方法将字节流转换为 byte 数组。最后,关闭流并返回 byte 数组。

main 方法中,我们创建了一个示例对象 MyClass,并调用convertToByteArray 方法将其转换为 byte 数组。最后,使用循环打印 byte 数组。

请注意,要将一个 Java 对象转换为 byte 数组,必须确保该对象实现了 Serializable 接口。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2024-01-29发表,共计1275字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)