java 对象的序列化简单例子
来源:互联网 发布:网络机顶盒摇控器下载 编辑:程序博客网 时间:2024/05/18 04:01
public static byte[] compress(byte[] source) throws Exception{
ByteArrayOutputStream o = new ByteArrayOutputStream();
//建立gzip压缩输出流
GZIPOutputStream gzout = new GZIPOutputStream(o);
gzout.write(source);
gzout.finish();
gzout.close();
byte[] data_ = o.toByteArray();
o.close();
return data_;
}
public static byte[] unCompress(byte[] zipsource) throws Exception{
ByteArrayInputStream input = new ByteArrayInputStream(zipsource);
GZIPInputStream gzin = new GZIPInputStream(input);
//--------------------
int count;
int BUFFER = 3;
byte data[] = new byte[BUFFER];
ByteArrayOutputStream outS = new ByteArrayOutputStream();
while ((count = gzin.read(data, 0, BUFFER)) != -1) {
outS.write(data, 0, count);
}
//--------------------
input.close();
gzin.close();
return outS.toByteArray();
}
try {
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(byteOut);
out.writeObject(ObjectInstance);
ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut
.toByteArray());
ObjectInputStream in = new ObjectInputStream(byteIn);
return in.readObject();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public static byte[] ObjectToBytes(Object ObjectInstance) {
try {
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(byteOut);
out.writeObject(ObjectInstance);
return byteOut.toByteArray();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public static Object BytesToObject(byte[] hexs) {
try {
ByteArrayInputStream byteIn = new ByteArrayInputStream(hexs);
ObjectInputStream in = new ObjectInputStream(byteIn);
return in.readObject();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
ByteArrayOutputStream o = new ByteArrayOutputStream();
//建立gzip压缩输出流
GZIPOutputStream gzout = new GZIPOutputStream(o);
gzout.write(source);
gzout.finish();
gzout.close();
byte[] data_ = o.toByteArray();
o.close();
return data_;
}
public static byte[] unCompress(byte[] zipsource) throws Exception{
ByteArrayInputStream input = new ByteArrayInputStream(zipsource);
GZIPInputStream gzin = new GZIPInputStream(input);
//--------------------
int count;
int BUFFER = 3;
byte data[] = new byte[BUFFER];
ByteArrayOutputStream outS = new ByteArrayOutputStream();
while ((count = gzin.read(data, 0, BUFFER)) != -1) {
outS.write(data, 0, count);
}
//--------------------
input.close();
gzin.close();
return outS.toByteArray();
}
try {
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(byteOut);
out.writeObject(ObjectInstance);
ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut
.toByteArray());
ObjectInputStream in = new ObjectInputStream(byteIn);
return in.readObject();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public static byte[] ObjectToBytes(Object ObjectInstance) {
try {
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(byteOut);
out.writeObject(ObjectInstance);
return byteOut.toByteArray();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public static Object BytesToObject(byte[] hexs) {
try {
ByteArrayInputStream byteIn = new ByteArrayInputStream(hexs);
ObjectInputStream in = new ObjectInputStream(byteIn);
return in.readObject();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
0 0
- java 对象的序列化简单例子
- 对象序列化的简单例子
- 一个简单java序列化的例子
- Java序列化的简单例子
- Java序列化简单的例子
- java对象序列化序列化例子
- Java对象序列化的简单总结
- 看JAVA序列化的性能 -- 一个简单的例子
- 用java实现一个简单的序列化的例子
- 一个简单的Java序列化的例子
- .net中的对象序列化(1): 序列化是什么, 以及一个简单的例子
- JAVA 对象序列化小例子实现
- Java 序列化--- Kryo使用简单例子
- java基础(21)--序列化简单例子
- 使用序列化对象的小例子
- [java]:对象序列化非常简单能看懂的操作
- java序列化(二)之jackson实现简单对象的序列化,反序列化
- Java 对象序列化和反序化例子
- 黑马程序员——JAVA基础之简述设计模式
- WPF中DataGrid只获取一次Tab
- OpenCV原理解读之HAAR+Adaboost
- 使用mathjax在博客中完美显示数学公式,支持PC,手机浏览器
- 【计算几何】判断线段相交
- java 对象的序列化简单例子
- 第13周项目5-字符串操作(6.删除str中的空格)
- 第四代搜索引擎成真?
- iOS --- 使用NSJSONSerialization来解析JSON格式的数据
- 第13周项目2-成绩处理
- java 文件夹处理的简单例子
- c之PAT刷体--字符串-01--从字符串中找到特定字符
- 在字符串中,找到姓李的人
- 不相邻组合问题