java对象转换为字节数组

转载:http://blog.sina.com.cn/s/blog_47e3d38d010007xc.html

package welcome;

import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.ByteArrayInputStream;
import java.io.*;
import java.util.ArrayList;

/**
 * 目的是把一个类文件写入到字节数组里面
 */
public class Test {
  public static final String WRITEOBJ ="写的就是我";
  public static final ArrayList list = newArrayList();
  public static void main(String[] args) {
    try {
     list.add("1");
     list.add("2");
     
           ByteArrayOutputStream baos = new ByteArrayOutputStream();//构造一个字节输出流
           ObjectOutputStream oos = new ObjectOutputStream(baos);//构造一个类输出流
           //oos.writeObject(list); //写这个对象
           oos.writeObject(WRITEOBJ); //写这个对象
           byte[] buf = baos.toByteArray();//从这个地层字节流中把传输的数组给一个新的数组
           oos.flush();
           System.out.println(baos.toString());
           System.out.println(buf.length);
           //构建一个类输入流,地层用字节输入流实现
           ByteArrayInputStream bais = new ByteArrayInputStream(buf);
           ObjectInputStream ois = new ObjectInputStream(bais);
           String str = (String) ois.readObject();
           //ArrayList str = (ArrayList) ois.readObject(); //读取类
           System.out.println(str);
    }
    catch(Exception ex) {
     ex.printStackTrace();
    }
  }
}

    只要是可以序列化的对象都可以直接转换成字节数组,现在存放到数据库都成了。嘿嘿!因为用socket通讯比较方便,直接可以构造类流,但是用上DatagramSocket就没那么好使了,这个办法就可以重新打散类,然后在拼出用!以前在网上也找过,但都为找到适合自己的方法,现在解决了,帖上!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值