对象转数组,数组转对象
序列化一个对象,反序列化一个对象就是如此
package com.digican.utils;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import com.digican.javabean.TestBean;
public class ObjectAndByte {
/**
* 对象转数组
* @param obj
* @return
*/
public byte[] toByteArray (Object obj) {
byte[] bytes = null;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try {
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(obj);
oos.flush();
bytes = bos.toByteArray ();
oos.close();
bos.close();
} catch (IOException ex) {
ex.printStackTrace();
}
return bytes;
}
/**
* 数组转对象
* @param bytes
* @return
*/
public Object toObject (byte[] bytes) {
Object obj = null;
try {
ByteArrayInputStream bis = new ByteArrayInputStream (bytes);
ObjectInputStream ois = new ObjectInputStream (bis);
obj = ois.readObject();
ois.close();
bis.close();
} catch (IOException ex) {
ex.printStackTrace();
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
return obj;
}
public static void main(String[] args) {
TestBean tb = new TestBean();
tb.setName("daqing");
tb.setValue("1234567890");
ObjectAndByte oa = new ObjectAndByte();
byte[] b = oa.toByteArray(tb);
System.out.println(new String(b));
System.out.println("=======================================");
TestBean teb = (TestBean) oa.toObject(b);
System.out.println(teb.getName());
System.out.println(teb.getValue());
}
}
package com.digican.javabean;
import java.io.Serializable;
public class TestBean implements Serializable{
private String name;
private String value;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
分享到:
相关推荐
C#实现object与byte[]互转 在C#中,实现object与byte[]互转是一种常见的需求,特别是在网络通信和数据存储中。这篇文章将详细介绍如何将object转换为byte[],并介绍相关的知识点。 序列化 序列化是将对象转换为二...
使用此工具类,对于Object和byte[] 数组, 16进制和String之间的转换
1. **Image转byte[]** 在Java中,我们可以使用`FileInputStream`读取图片文件,然后用`BufferedImage`对象来处理图像,最后通过`ImageIO.write()`方法将图像写入`ByteArrayOutputStream`,得到字节数组。 ```java ...
然后,我们可以 new 出一个 UgvData 对象,调用其 toByteArray 方法,即可将这个对象转成 byte 数组。 方法 2:使用 JSON 我们都知道,字符串是可以转换为 byte 数组的。将一个对象转换为 JSON 字符串也很容易,...
在数据库中存储byte数组通常使用BLOB(Binary Large Object)类型字段。这里以SQL Server为例,你可以创建一个包含图片字段的表,并使用ADO.NET的`SqlCommand`执行SQL语句进行插入操作: ```csharp using System...
java中把对象转化为byte数组的方法 Java 中将对象转化为 byte 数组的方法是指将 Java 对象序列化为二进制数据流,以便在网络上传输或存储。这种方法可以应用于各种领域,如分布式计算、网络通信、数据存储等。 在 ...
public static byte[] StructToBytes(object structObj) { int size = Marshal.SizeOf(structObj); byte[] bytes = new byte[size]; IntPtr structPtr = Marshal.AllocHGlobal(size); Marshal.StructureToPtr...
在Java编程中,数据存储和传输常常涉及到不同类型的数据转换,特别是在数据库操作中,与二进制大数据相关的类型如`byte[]`(字节数组)和`Blob`(Binary Large Object)之间的转换尤为常见。本篇文章将详细讲解如何...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式,但也使用了类似于C家族语言(包括C、C++、C#、Java、JavaScript、Perl、Python等)的习惯,这使得JSON成为理想的...
标题中的“blob,将byte二进制转成pdf”指的是在IT领域中处理二进制数据(Blob)并将其转换为PDF文档的过程。Blob在计算机科学中通常代表Binary Large Object,用于存储大块非结构化的数据,如图像、音频、视频或者在...
二值化Byte数组转换为BMP图片的COM组件是一种用于图像处理的技术,它涉及到计算机图形学、图像编码和组件对象模型(Component Object Model,简称COM)等多方面的知识。在这个过程中,二值化的byte数组首先被解释为...
public static byte[] StructToBytes(object structObj) { int size = Marshal.SizeOf(structObj); byte[] bytes = new byte[size]; IntPtr structPtr = Marshal.AllocHGlobal(size); Marshal.StructureToPtr...
public byte[] ObjectToByte(java.lang.Object obj) { byte[] bytes; try { ByteArrayOutputStream bo = new ByteArrayOutputStream(); ObjectOutputStream oo = new ObjectOutputStream(bo); oo.writeObject...
函数`GetByte(object o)`用于尝试将任意类型的对象转换为Byte类型。它首先检查输入对象`o`是否为null,然后尝试使用`TryParse`方法将`o.ToString().Trim()`的结果解析为Byte。如果解析成功,返回解析后的Byte值,...
object obj = num; // 装箱 int num2 = (int)obj; // 拆箱 ``` **数值类型间的转换** 在C#中,数值类型间的转换可以通过显式转换(如`(type)variable`)或隐式转换(如果转换是安全的,编译器会自动处理)进行。例如...
public byte[] content; } ``` 在这个类中,我们定义了两个字段:`fileName`用于存储CSV文件的名称,`content`用于存储CSV内容的字节数组。 接下来,我们需要编写打包函数,将CSV数据转换为ScriptableObject并...
.subclass(Object.class) .method(ElementMatchers.any()) .intercept(Advice.to(YourLoggingAdvice.class)) .make() .load(ClassLoader.getSystemClassLoader()); ``` 在这段代码中,`YourLoggingAdvice`是...
在C++环境中,结合HALCON库进行图像处理时,可能会遇到需要自定义图像操作的情况,例如特定区域的滤波处理。在这种情况下,我们需要从HALCON的图像对象(HObject)中提取像素数据,进行处理后再将结果写回HObject。...
本项目"TypeByte@2019_C#_C++_C数据类型转换时间戳转换_"显然是针对C#、C++和C这三种编程语言,提供了一种解决方案来实现数据类型的互转以及时间戳的转换。 首先,让我们深入探讨一下C#中的数据类型转换。C#是一门...
JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,广泛用于服务器与客户端之间的数据传递,因为它的结构清晰、易于阅读和编写,同时也方便机器解析和生成。然而,JSON本身并不直接支持二进制数据的...