Java 직렬화 개체 데이터 읽기 및 쓰기의 직렬화 가능 인스턴스
직렬화된 객체:
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 직렬화 객체 직렬화 예제를 더 보려면 PHP에 주의하세요. 중국사이트!
관련 기사:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사
어 ass 신 크리드 그림자 : 조개 수수께끼 솔루션
3 몇 주 전
By DDD
Windows 11 KB5054979의 새로운 기능 및 업데이트 문제를 해결하는 방법
2 몇 주 전
By DDD
Atomfall에서 크레인 제어 키 카드를 찾을 수 있습니다
3 몇 주 전
By DDD
R.E.P.O. 저축 설명 (및 파일 저장)
1 몇 달 전
By 尊渡假赌尊渡假赌尊渡假赌
어 ass 신 크리드 섀도우 - 대장장이를 찾고 무기 및 갑옷 커스터마 화 잠금 해제 방법
4 몇 주 전
By DDD

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7564
15


Cakephp 튜토리얼
1386
52


Steam의 계정 이름 형식은 무엇입니까?
86
11


Win11 활성화 키 영구
61
19


NYT 연결 힌트와 답변
28
99

