黑马程序员-学习对象序列化日记
2014-04-19 13:17
148 查看
---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
/*---------------------------------------------------ObjecStreamDemo.java--------------------------------------------------------------------------------*/
package heimaLog;
import java.io.*;
/*
* 打印流 : PrintWriter与PrintStream 可以直接操作输出流和文件
* 序列流: SequenceInputStream 对多个流进行合并
* 操作对象:ObjectInputStream与ObjectOutputStream 被操作的对象需要实现Serializable(标记接口)
* 读取存储文件的对象 对象的持久化存储(找一个介质能长期保存数据)对象的序列化,对象的可串连性,
*
*
* */
public class ObjecStreamDemo {
public static void main(String[] args)throws IOException,ClassNotFoundException
{
//writeOb();
readOb();
}
public static void readOb() throws IOException, ClassNotFoundException
{
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("obj.txt"));
Person p = (Person)ois.readObject();
System.out.println(p);
ois.close();
}
public static void writeOb() throws IOException
{
ObjectOutputStream oos =
new ObjectOutputStream(new FileOutputStream("obj.txt"));
oos.writeObject(new Person("lisi",39,"en"));
oos.close();
}
}
/* ----------------------------------------------------Person.java----------------------------------------------------------------------------------------------*/
package heimaLog;
/*没有方法的接口通常称为标记性接口*/
import java.io.*;
class Person implements Serializable{
public static final long serialVersionUID = 43L;
private String name;//改变类后Serializable定义的标记会不同
transient int age; //如果想要非静态成员也不被序列化 可以加入transient 关键字
static String country = "cn"; //当成员定义为静态时将不会被序列化
Person(String name,int age,String country){
this.name = name;
this.age=age;
this.country = country;
}
public String toString()
{
return name+":"+age;
}
}
---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
/*---------------------------------------------------ObjecStreamDemo.java--------------------------------------------------------------------------------*/
package heimaLog;
import java.io.*;
/*
* 打印流 : PrintWriter与PrintStream 可以直接操作输出流和文件
* 序列流: SequenceInputStream 对多个流进行合并
* 操作对象:ObjectInputStream与ObjectOutputStream 被操作的对象需要实现Serializable(标记接口)
* 读取存储文件的对象 对象的持久化存储(找一个介质能长期保存数据)对象的序列化,对象的可串连性,
*
*
* */
public class ObjecStreamDemo {
public static void main(String[] args)throws IOException,ClassNotFoundException
{
//writeOb();
readOb();
}
public static void readOb() throws IOException, ClassNotFoundException
{
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("obj.txt"));
Person p = (Person)ois.readObject();
System.out.println(p);
ois.close();
}
public static void writeOb() throws IOException
{
ObjectOutputStream oos =
new ObjectOutputStream(new FileOutputStream("obj.txt"));
oos.writeObject(new Person("lisi",39,"en"));
oos.close();
}
}
/* ----------------------------------------------------Person.java----------------------------------------------------------------------------------------------*/
package heimaLog;
/*没有方法的接口通常称为标记性接口*/
import java.io.*;
class Person implements Serializable{
public static final long serialVersionUID = 43L;
private String name;//改变类后Serializable定义的标记会不同
transient int age; //如果想要非静态成员也不被序列化 可以加入transient 关键字
static String country = "cn"; //当成员定义为静态时将不会被序列化
Person(String name,int age,String country){
this.name = name;
this.age=age;
this.country = country;
}
public String toString()
{
return name+":"+age;
}
}
---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
相关文章推荐
- 黑马程序员_学习日记73_725ASP.NET(禁用Cookie、ASP.NET中的重要对象、JavaScript实现AJAX、两种Json格式的序列化方法、JQuery中实现ajax的五种方法)
- 黑马程序员_Java学习日记3_面向对象总结2
- 黑马程序员-----学习日记<5>----面向对象总结1
- 黑马程序员--面向对象第一部分--java学习日记4(基础知识)
- 黑马程序员_Java学习日记5_面向对象总结4
- 黑马程序员-我的第十二篇学习日记:OC中空指针,野指针,僵尸对象,retain和release基本使用
- 黑马程序员_Java学习日记_JAVA中API中对象String和StringBuffer/StringBuilder
- 黑马程序员-我的第十篇学习日记:OC中点语法,@property和@synthesize,完整创建一个可用对象
- 黑马程序员_Java学习日记2_面向对象总结1
- 黑马程序员 C#学习笔记⑨ 序列化对象
- 黑马程序员--【学习日记四】——java面向对象(二)
- 黑马程序员学习日记(2)--面向对象基础
- 黑马程序员-C#面向对象学习日记
- 黑马程序员——学习日记2——面向对象
- 黑马程序员-操作基本数据类型的流对象学习日记
- 黑马程序员——学习日记之--常见的其他对象
- 黑马程序员_学习日记59_705Dom1(事件、window对象、document对象)
- 黑马程序员-我的第六篇学习日记:OC方法的使用,对象方法与函数的区别
- 黑马程序员-学习日志-对象的序列化
- 黑马程序员-iOS学习日记(二)面向对象-类与对象