Java中ObjectInputStream 与 ObjectOutputStream的使用
2016-08-24 14:53
465 查看
ObjectInputStream能够让你从输入流中读取Java对象,而不需要每次读取一个字节。你可以把InputStream包装到ObjectInputStream中,然后就可以从中读取对象了
ObjectOutputStream能够让你把对象写入到输出流中,而不需要每次写入一个字节。你可以把OutputStream包装到ObjectOutputStream中,然后就可以把对象写入到该输出流中了
ObjectInputStream和ObjectOutputStream还有许多read和write方法,比如readInt、writeLong等等,详细信息请查看 http://docs.oracle.com/javase/7/docs/api/
这里操作的bean 必须要序列化 至于序列化是啥就自己去百度吧 implements Serializable
首先说 ObjectOutputStream 把对象转成文件
public static void objectToFile(Object obj, String outputFile) {
ObjectOutputStream oos = null;
FileOutputStream fos = null;
try {
fos = new FileOutputStream(new File(outputFile));
oos = new ObjectOutputStream(fos);
//开始写入
oos.writeObject(obj);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (oos != null) {
try {
oos.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
if (fos != null) {
try {
fos.close();
} catch (IOException e2) {
e2.printStackTrace();
}
}
}
}
ObjectInputStream就读出bean了 直接用bean接收就行了
public static Object fileToObject(String fileName) {
FileInputStream fis = null;
ObjectInputStream ois = null;
try {
fis = new FileInputStream(fileName);
ois = new ObjectInputStream(fis);
Object object = ois.readObject();
return object;
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
if (ois != null) {
try {
ois.close();
} catch (IOException e2) {
e2.printStackTrace();
}
}
}
return null;
}
很简单的几个方法调用
使用:
实体:
public class A implements Serializable{
/**
*
*/
private static final long serialVersionUID = 8425494920969357915L;
public String n = "哈哈";
public String getN() {
return n;
}
public void setN(String n) {
this.n = n;
}
public A(String n) {
super();
this.n = n;
}
public A() {
super();
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "A [n=" + n + "]";
}
}
感觉这个在项目中还是有用的,有疑问可以加上面的qq群相互学习哦~~
ObjectOutputStream能够让你把对象写入到输出流中,而不需要每次写入一个字节。你可以把OutputStream包装到ObjectOutputStream中,然后就可以把对象写入到该输出流中了
ObjectInputStream和ObjectOutputStream还有许多read和write方法,比如readInt、writeLong等等,详细信息请查看 http://docs.oracle.com/javase/7/docs/api/
这里操作的bean 必须要序列化 至于序列化是啥就自己去百度吧 implements Serializable
首先说 ObjectOutputStream 把对象转成文件
public static void objectToFile(Object obj, String outputFile) {
ObjectOutputStream oos = null;
FileOutputStream fos = null;
try {
fos = new FileOutputStream(new File(outputFile));
oos = new ObjectOutputStream(fos);
//开始写入
oos.writeObject(obj);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (oos != null) {
try {
oos.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
if (fos != null) {
try {
fos.close();
} catch (IOException e2) {
e2.printStackTrace();
}
}
}
}
ObjectInputStream就读出bean了 直接用bean接收就行了
public static Object fileToObject(String fileName) {
FileInputStream fis = null;
ObjectInputStream ois = null;
try {
fis = new FileInputStream(fileName);
ois = new ObjectInputStream(fis);
Object object = ois.readObject();
return object;
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
if (ois != null) {
try {
ois.close();
} catch (IOException e2) {
e2.printStackTrace();
}
}
}
return null;
}
很简单的几个方法调用
使用:
实体:
public class A implements Serializable{
/**
*
*/
private static final long serialVersionUID = 8425494920969357915L;
public String n = "哈哈";
public String getN() {
return n;
}
public void setN(String n) {
this.n = n;
}
public A(String n) {
super();
this.n = n;
}
public A() {
super();
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "A [n=" + n + "]";
}
}
感觉这个在项目中还是有用的,有疑问可以加上面的qq群相互学习哦~~
相关文章推荐
- java中ObjectOutputStream和ObjectInputStream的使用
- java中使用ObjectOutputStream和ObjectInputStream时产生的“invalid stream header”错误解决方法
- java对象流ObjectInputStream、ObjectOutputStream的使用
- Java使用ObjectOutputStream和ObjectInputStream序列号对象报java.io.EOFException异常的解决方法
- java_IO流之ObjectInputStream与ObjectOutputStream的使用
- 我的Java开发学习之旅------>Java使用ObjectOutputStream和ObjectInputStream序列号对象报java.io.EOFException异常的解决方法
- Java中ObjectOutputStream和ObjectInputStream的基本使用详解
- java将系列化后的对象保存在文件中,及反系列化 (ObjectInputStream,ObjectOutputStream)
- Java IO--对象序列化Serializable、ObjectOutputStream、ObjectInputStream、transient
- 使用对象输入输出流(ObjectOutputStream,ObjectInputStream)实现序列化对象的深度克隆
- java ObjectInputStream和ObjectOutputStream与Serializable
- 使用ObjectInputStream和ObjectOutputStream注意问题
- java中在socket上重新建立ObjectInputStream和ObjectOutputStream的问题
- 黑马程序员——Java IO—字节流—ObjectInputStream和ObjectOutputStream
- java基本I/O系列--ObjectInputStream 和 ObjectOutputStream 介绍
- java语言编程IO流之对象序列化和ObjectInputStream与ObjectOutputStream
- Java使用GZIP进行压缩和解压缩(GZIPOutputStream,GZIPInputStream)
- java.io.ObjectOutputStream.putFields()和java.io.ObjectInputStream. readFields()
- IO流中ObjectOutputStream和ObjectInputStream的使用
- Java对象序列化ObjectOutputStream和ObjectInputStream示例