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 读写数据的实例相关文章请关注PHP中文网!
相关文章:

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Penyelesaian masalah dan penyelesaian kepada perisian keselamatan syarikat yang menyebabkan beberapa aplikasi tidak berfungsi dengan baik. Banyak syarikat akan menggunakan perisian keselamatan untuk memastikan keselamatan rangkaian dalaman. …

Apabila menggunakan Mybatis-Plus atau Rangka Kerja ORM yang lain untuk operasi pangkalan data, sering diperlukan untuk membina syarat pertanyaan berdasarkan nama atribut kelas entiti. Sekiranya anda secara manual setiap kali ...

Pemprosesan pemetaan medan dalam dok sistem sering menemui masalah yang sukar ketika melaksanakan sistem dok: bagaimana untuk memetakan medan antara muka sistem dengan berkesan ...

Penyelesaian untuk menukar nama kepada nombor untuk melaksanakan penyortiran dalam banyak senario aplikasi, pengguna mungkin perlu menyusun kumpulan, terutama dalam satu ...

Mula musim bunga menggunakan versi IntelliJideaultimate ...

Penukaran objek dan tatasusunan Java: Perbincangan mendalam tentang risiko dan kaedah penukaran jenis cast yang betul Banyak pemula Java akan menemui penukaran objek ke dalam array ...

Apabila menggunakan tkmybatis untuk pertanyaan pangkalan data, bagaimana dengan anggun mendapatkan nama pembolehubah kelas entiti untuk membina keadaan pertanyaan adalah masalah biasa. Artikel ini akan ...

Penjelasan terperinci mengenai reka bentuk jadual SKU dan SPU di platform e-dagang Artikel ini akan membincangkan isu reka bentuk pangkalan data SKU dan SPU dalam platform e-dagang, terutamanya bagaimana menangani jualan yang ditentukan pengguna ...
