如何提高网站设计能力,优设设计网站导航,亳州网站建设公司,网站开发企划书对象的输入输出流的作用#xff1a; 用于写入对象 的信息和读取对象的信息。 使得对象持久化。ObjectInputStream : 对象输入流ObjectOutPutStream #xff1a;对象输出流简单的实例1 importjava.io.File;2 importjava.io.FileInputStream;3 importjava.io.FileOutputStre…对象的输入输出流的作用 用于写入对象 的信息和读取对象的信息。 使得对象持久化。ObjectInputStream : 对象输入流ObjectOutPutStream 对象输出流简单的实例1 importjava.io.File;2 importjava.io.FileInputStream;3 importjava.io.FileOutputStream;4 importjava.io.IOException;5 importjava.io.ObjectInputStream;6 importjava.io.ObjectOutputStream;7 importjava.io.Serializable;89 //创建要写入磁盘的类这个类需要实现接口 Serializable(可系列化的)10 class Student implementsSerializable{1112 //在这里保证了serialVersionUID 的唯一性防止属性变量的临时改变从而造成写入id与读取id不同13 private static final long serialVersionUID 1L;14 int id ; //额外需要添加一个属性1516String name ;17 transient String sex; //transient修饰属性表示暂时的则这个属性不会被写入磁盘18 transient intage;1920 public Student(String name,String sex,intage){21 this.name name;22 this.sex sex;23 this.age age;24}25}262728 public classobjectIO {2930 /**31 *paramargs32 *throwsIOException33 *throwsClassNotFoundException34*/35 public static void main(String[] args) throwsIOException, ClassNotFoundException {36 //TODO Auto-generated method stub3738createObj();39readObj();40}4142 //(一)先写入对象43 public static void createObj() throwsIOException {44 //1.创建目标路径45 File file new File(C:\\Users\\bg\\Desktop\\objTest.txt);46 //2.创建流通道47 FileOutputStream fos newFileOutputStream(file);48 //3.创建对象输出流49 ObjectOutputStream objOP newObjectOutputStream(fos);50 //4.创建类对象并初始化51 Student stu new Student(玛丽苏, 男, 18);52 //5.向目标路径文件写入对象53objOP.writeObject(stu);54 //6.关闭资源55objOP.close();56}5758 //再读取对象59 public static void readObj() throwsIOException, ClassNotFoundException {60 File file new File(C:\\Users\\bg\\Desktop\\objTest.txt);61 FileInputStream fis newFileInputStream(file);62 ObjectInputStream objIP newObjectInputStream(fis);63 //读取对象数据需要将对象流强制转换为 要写入对象的类型64 Student stu (Student)objIP.readObject();65 System.out.println(\n name:stu.name\n sex:stu.sex\n age:stu.age);66objIP.close();67}6869 }打印效果name:玛丽苏sex:null //后面的这连个属性使用了 transient修饰age:0用到方法writeObject(Object o); //向磁盘写入对象readObject(); //读取磁盘的对象注意这里需要强制类型对象输入输出流的使用注意点1.如果想将一个对象写入到磁盘中那么对象所属的类必须要进行序列化实现Serializable 接口Serializable接口没有任何方法 是一个标记接口2.如果对象所属的类的成员变量发生改变你在读取原来的对象是就会报错如果想要解决报错保证serialVersionUID是唯一。3.如果你不想将某些信息存入到磁盘 就可以同过transient关键字修饰成员变量4.如果一个类中引用了另外的一个类那么另外的这个类也要实现Serializable接口。如果