`
yaodaqing
  • 浏览: 349340 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Object转byte[];byte[]转Object

阅读更多
对象转数组,数组转对象
序列化一个对象,反序列化一个对象就是如此

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[]互转 在C#中,实现object与byte[]互转是一种常见的需求,特别是在网络通信和数据存储中。这篇文章将详细介绍如何将object转换为byte[],并介绍相关的知识点。 序列化 序列化是将对象转换为二...

    对象 Object 转换工具

    使用此工具类,对于Object和byte[] 数组, 16进制和String之间的转换

    image与字节数组byte的互转

    1. **Image转byte[]** 在Java中,我们可以使用`FileInputStream`读取图片文件,然后用`BufferedImage`对象来处理图像,最后通过`ImageIO.write()`方法将图像写入`ByteArrayOutputStream`,得到字节数组。 ```java ...

    java对象转成byte数组的3种方法

    然后,我们可以 new 出一个 UgvData 对象,调用其 toByteArray 方法,即可将这个对象转成 byte 数组。 方法 2:使用 JSON 我们都知道,字符串是可以转换为 byte 数组的。将一个对象转换为 JSON 字符串也很容易,...

    C# 图片转成byte存入,数据库读取byte转成图片的类

    在数据库中存储byte数组通常使用BLOB(Binary Large Object)类型字段。这里以SQL Server为例,你可以创建一个包含图片字段的表,并使用ADO.NET的`SqlCommand`执行SQL语句进行插入操作: ```csharp using System...

    java中把对象转化为byte数组的方法.doc

    java中把对象转化为byte数组的方法 Java 中将对象转化为 byte 数组的方法是指将 Java 对象序列化为二进制数据流,以便在网络上传输或存储。这种方法可以应用于各种领域,如分布式计算、网络通信、数据存储等。 在 ...

    C#中结构体struct和字节数组Byte的之间的转换函数

    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类型详细介绍

    在Java编程中,数据存储和传输常常涉及到不同类型的数据转换,特别是在数据库操作中,与二进制大数据相关的类型如`byte[]`(字节数组)和`Blob`(Binary Large Object)之间的转换尤为常见。本篇文章将详细讲解如何...

    JSON和byte[]

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式,但也使用了类似于C家族语言(包括C、C++、C#、Java、JavaScript、Perl、Python等)的习惯,这使得JSON成为理想的...

    blob,将byte二进制转成pdf

    标题中的“blob,将byte二进制转成pdf”指的是在IT领域中处理二进制数据(Blob)并将其转换为PDF文档的过程。Blob在计算机科学中通常代表Binary Large Object,用于存储大块非结构化的数据,如图像、音频、视频或者在...

    二值化byte转成bmp图片的com组件

    二值化Byte数组转换为BMP图片的COM组件是一种用于图像处理的技术,它涉及到计算机图形学、图像编码和组件对象模型(Component Object Model,简称COM)等多方面的知识。在这个过程中,二值化的byte数组首先被解释为...

    C#结构体和C++字节数组的转换

    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数组的方法.pdf

    public byte[] ObjectToByte(java.lang.Object obj) { byte[] bytes; try { ByteArrayOutputStream bo = new ByteArrayOutputStream(); ObjectOutputStream oo = new ObjectOutputStream(bo); oo.writeObject...

    C#中Byte转换相关的函数

    函数`GetByte(object o)`用于尝试将任意类型的对象转换为Byte类型。它首先检查输入对象`o`是否为null,然后尝试使用`TryParse`方法将`o.ToString().Trim()`的结果解析为Byte。如果解析成功,返回解析后的Byte值,...

    c#数据类型转换,BYTE,float,double,char类型间的转换方法.docx

    object obj = num; // 装箱 int num2 = (int)obj; // 拆箱 ``` **数值类型间的转换** 在C#中,数值类型间的转换可以通过显式转换(如`(type)variable`)或隐式转换(如果转换是安全的,编译器会自动处理)进行。例如...

    Unity3D教程:用ScriptableObject打包数据2

    public byte[] content; } ``` 在这个类中,我们定义了两个字段:`fileName`用于存储CSV文件的名称,`content`用于存储CSV内容的字节数组。 接下来,我们需要编写打包函数,将CSV数据转换为ScriptableObject并...

    ByteBuddy在运行期生成Java代码的库

    .subclass(Object.class) .method(ElementMatchers.any()) .intercept(Advice.to(YourLoggingAdvice.class)) .make() .load(ClassLoader.getSystemClassLoader()); ``` 在这段代码中,`YourLoggingAdvice`是...

    halcon和c++之间的图像数据转换

    在C++环境中,结合HALCON库进行图像处理时,可能会遇到需要自定义图像操作的情况,例如特定区域的滤波处理。在这种情况下,我们需要从HALCON的图像对象(HObject)中提取像素数据,进行处理后再将结果写回HObject。...

    TypeByte@2019_C#_C++_C数据类型转换时间戳转换_

    本项目"TypeByte@2019_C#_C++_C数据类型转换时间戳转换_"显然是针对C#、C++和C这三种编程语言,提供了一种解决方案来实现数据类型的互转以及时间戳的转换。 首先,让我们深入探讨一下C#中的数据类型转换。C#是一门...

    基于JSON实现传输byte数组过程解析

    JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,广泛用于服务器与客户端之间的数据传递,因为它的结构清晰、易于阅读和编写,同时也方便机器解析和生成。然而,JSON本身并不直接支持二进制数据的...

Global site tag (gtag.js) - Google Analytics