您好,欢迎访问一九零五行业门户网

java 序列化对象 serializable 读写数据的实例

序列化对象:
package com.chen.seriaizable; import java.io.serializable; import java.util.list; @suppresswarnings("serial") public class student implements serializable { private string name; private string id; private int age; private list<student> students; public string getname() { return name; } public void setname(string name) { this.name = name; } public string getid() { return id; } public void setid(string id) { this.id = id; } public int getage() { return age; } public void setage(int age) { this.age = age; } public list<student> getstudents() { return students; } public void setstudents(list<student> students) { this.students = students; } @override public string tostring() { stringbuffer stringbuffer = new stringbuffer(); stringbuffer.append("id:" + this.id).append("\n"); stringbuffer.append("name:" + this.name).append("\n"); stringbuffer.append("age:" + this.age).append("\n"); return stringbuffer.tostring(); } }
package com.chen.seriaizable; import java.io.fileinputstream; import java.io.fileoutputstream; import java.io.ioexception; import java.io.objectinputstream; import java.io.objectoutputstream; import java.util.arraylist; import java.util.list; public class savestudent { private student student; // 序列化文件保存位置 private string path = "c:/student.serializable"; public void writestudent() { list<student> students = new arraylist<student>(); student = new student(); student student1 = new student(); student1.setage(1); student1.setid("1"); student1.setname("张1"); students.add(student1); student student2 = new student(); student2.setage(2); student2.setid("2"); student2.setname("张2"); students.add(student2); student student3 = new student(); student3.setage(3); student3.setid("3"); student3.setname("张3"); students.add(student3); student student4 = new student(); student4.setage(4); student4.setid("4"); student4.setname("张4"); student student41 = new student(); student41.setage(41); student41.setid("41"); student41.setname("张41"); list<student> students4 = new arraylist<student>(); students4.add(student41); student4.setstudents(students4); students.add(student4); student.setage(500); student.setid("100"); student.setname("张a000"); student.setstudents(students); try { objectoutputstream objectoutputstream = new objectoutputstream(new fileoutputstream(path)); objectoutputstream.writeobject(student); objectoutputstream.close(); } catch (ioexception e) { // todo auto-generated catch block e.printstacktrace(); } system.out.println("写完"); } public void readstudent() { try { objectinputstream objectinputstream = new objectinputstream(new fileinputstream(path)); student = (student) objectinputstream.readobject(); system.out.println(student.getage()); objectinputstream.close(); } catch (exception e) { e.printstacktrace(); } system.out.println("读完"); } @override public string tostring() { readstudent(); stringbuffer stringbuffer = new stringbuffer(100); studenttostring(stringbuffer, student); return stringbuffer.tostring(); } public void studenttostring(stringbuffer stringbuffer, student studentobj) { if (student != null) { stringbuffer.append("id:" + studentobj.tostring()).append("\n"); if (studentobj.getstudents() != null) { stringbuffer.append("\n[\n"); for (student bean : studentobj.getstudents()) { studenttostring(stringbuffer, bean); } stringbuffer.append("\n]\n"); } } } }
测试类:
package com.chen.seriaizable; public class test { /** * @param args */ public static void main(string[] args) { savestudent savestudent = new savestudent(); // 1 先执行写入文件 // savestudent.writestudent(); // 2 再读取 system.out.println(savestudent); system.out.println("读完"); } }
更多java 序列化对象 serializable 读写数据的实例。
相关文章:
java序列化serializable和externalizable区别的示例代码
java序列化之serializable
php—serializable接口
其它类似信息

推荐信息