`
yaodaqing
  • 浏览: 346315 次
  • 性别: 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[]互转、序列化

    对象 Object 转换工具

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

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

    主要为大家详细介绍了java对象转成byte数组的3种方法,具有一定的参考价值,感兴趣的朋友可以参考一下

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

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

    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转换相关的函数

    public static byte GetByte(object o) { byte retInt = 0; if (o != null) { byte tmp; if (byte.TryParse(o.ToString().Trim(), out tmp)) { retInt = tmp; } } return retInt; } 2、将一个十六进制字符串转换为...

    Android-byte数据序列化成对象对象转化成二进制数据

    Socket,蓝牙等二进制数据处理工具,可以把Object里的所有字段值转化成二进制值,然后拼起 来,形成一个二进制数据包,并且可以把二进制数据流填充到实体对象进,形成了序列化与反序列化的工具集

    PowerShell创建Byte数组例子

    $byteArray = New-Object Byte[] 100 创建一个字节数组,数组元素个数为100个,每个数组元素的值为0xFF。 代码如下: $byteArray = [Byte[]] (,0xFF * 100) 这里要解释一下,Byte[]表示字节类型,而把Byte[]再用中...

    C#中图片、二进制与字符串的相互转换方法

    protected void Button1_Click(object sender, EventArgs e) { //图片转二进制 byte[] imageByte = GetPictureData(Server.MapPath(./uploadfile/111.png)); //二进制转换成字符串 string picStr = Convert.To...

    a_byte_of_python

    it was written by Swaroop C H.its name is "a byte of python". Table of Contents Preface Who This Book Is For History Lesson Status of the book Official Website License Terms Using the ...

    Java 基础 byte[]与各种数据类型互相转换的简单示例

    主要介绍了Java 基础 byte[]与各种数据类型互相转换的简单示例的相关资料,这里对byte[]类型对long,int,double,float,short,cahr,object,string类型相互转换的实例,需要的朋友可以参考下

    C#实现把图片转换成二进制以及把二进制转换成图片的方法示例

    private void button1_Click(object sender, EventArgs e) { string path = this.textBox1.Text; byte[] imgBytesIn = SaveImage(path); ShowImgByByte(imgBytesIn); //Parameters.Add(@Photo, SqlDbType.Binary...

    自己写的DES加密解密 ASP.NET(C#)

    { private static byte[] Key64 = { 42, 16, 93, 156, 78, 4, 218, 32 }; private static byte[] IV64 = { 55, 103, 246, 79, 36, 99, 167, 3 }; protected void Page_Load(object sender, EventArgs e) { } ...

    SQL 语言函数集SQL 语言函数集SQL 语言函数集

    CByte(expression) 转换表达式为Byte 型态。 CChar(expression) 转换表达式为字符型态。 CDate(expression) 转换表达式为Date 型态。 CDbl(expression) 转换表达式为Double 型态。 CDec(expression) 转换表达式...

    vb.net常用函数.txt

    CByte(expression) 转换表达式为Byte 型态。 CChar(expression) 转换表达式为字符型态。 CDate(expression) 转换表达式为Date 型态。 CDbl(expression) 转换表达式为Double 型态。 CDec(expression) 转换表达式为...

    Real-Time C++: Efficient Object-Oriented and Template Microcontroller

    Part I provides a foundation for real-time C++ by covering language technologies, including object-oriented methods, template programming and optimization. Next, part II presents detailed ...

    asp.net函数整理(字符串函数)

    CByte(expression) 转换表达式为Byte 型态。  CChar(expression) 转换表达式为字符型态。  CDate(expression) 转换表达式为Date 型态。  CDbl(expression) 转换表达式为Double 型态。  CDec(expression) 转换...

    Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题

    Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。Python 3不会以任意隐式的方式混用str和bytes,正是这使得两者的区分特别...

    c# socket 编程

    private void Form1_Load(object sender, EventArgs e) { this.CmdSend.Enabled = false; this.CmdExit.Enabled = false; //定义一个IPV4,TCP模式的Socket ClientSocket = new Socket(AddressFamily....

    asp函数常用表

    CByte(expression) 转换表达式为Byte 型态。 CChar(expression) 转换表达式为字符型态。 CDate(expression) 转换表达式为Date 型态。 CDbl(expression) 转换表达式为Double 型态。 CDec(expression) 转换表达式...

Global site tag (gtag.js) - Google Analytics