자바 에 서 는 곳곳에서 간단 한 프로 그래 밍 스타일 을 나타 내 고 직렬 화 는 가장 자주 사용 하 는 기능 중 하나 로 자바 에서 의 디자인 은 특히'간단 하 다'.Object InputStream 과 Object OutputStream 의 도움 으로 우 리 는 쉽게 직렬 화 를 실현 할 수 있 습 니 다.우리 클 라 스 가 자바.io.Serializable 인 터 페 이 스 를 실현 하면 Object OutputStream 의 writeObject()방법 으로 대상 을 직렬 화 할 수 있 습 니 다.Object InputStream 의 readObject()방법 을 이용 하여 읽 은 object 대상 을 되 돌려 줍 니 다.Serializable 인 터 페 이 스 는 우리 가 어떤 방법 도 실현 할 필요 가 없다.다음은 하나의 예 입 니 다.이것 은 우리 에 게 감성 적 인 인식 을 줄 수 있 습 니 다.Serial 은 자바.io.Serializable 인터페이스 에 대해 직렬 화 되 어야 하 는 클래스 입 니 다.우 리 는 먼저 Serial 의 대상 serial 1 을 구성 한 다음 에 그것 을 한 파일 에 저장 한 다음 에 그것 을 읽 고 그 내용 을 인쇄 합 니 다. package Stream; /** * @author favo yang */ import java.io.*; public class Serial implements Serializable { int company_id; String company_addr; boolean company_flag; public Serial(){}//c++와 달리 없어 도 Public Serial(int companyid,String company_addr,boolean company_flag) { this.company_id=company_id; this.company_addr=company_addr; this.company_flag=company_flag; } public static void main(String[] args) { Serial serial1 = new Serial(752,"dayer street #5 building 02-287",false);//새로운 대상 FileInputStream in=null 만 들 기; FileOutputStream out=null; ObjectInputStream oin=null; ObjectOutputStream oout=null; try { out = new FileOutputStream("5.txt"); oout = new ObjectOutputStream(out); serial1.serialize(oout);//직렬 화 oout.close(); oout=null; in = new FileInputStream("5.txt"); oin = new ObjectInputStream(in); Serial serial2 = Serial.deserialize(oin);//역 직렬 화 System.out.println(serial 2);/인쇄 결과}catch(Exception ex){ex.printStackTrace(); } finally{ try { if (in != null) { in.close(); } if (oin != null) { oin.close(); } if (out != null) { out.close(); } if (oout != null) { oout.close(); } } catch (IOException ex1) { ex1.printStackTrace(); } } } /** * deserialize */ public static Serial deserialize(ObjectInputStream oin) throws Exception{ Serial s=(Serial)oin.readObject(); return s; } public String toString() { return "DATA: "+company_id+" "+company_addr+" "+company_flag; } /** * serialize */ public void serialize(ObjectOutputStream oout) throws Exception{ oout.writeObject(this); }실행 결과:DATA:752 dayer street\#5 building 02-287 false 가 결 과 를 정확하게 인쇄 했 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다: