직렬화는 일반적으로 다음 시나리오에서 사용됩니다.
1. 객체를 영구적으로 저장하고 직렬화 된 바이트 스트림을 통해 로컬 파일에 객체를 저장하십시오.
2. 직렬화를 통해 네트워크에서 객체를 전송합니다
3. 직렬화를 통해 프로세스 간의 객체를 통과합니다
코드 사본은 다음과 같습니다.
java.io.serializable import;
import java.io.fileoutputStream;
import java.io.ioexception;
import java.io.objectoutputStream;
공개 클래스 javaserializable_fun {
/**
* java.io.serializable 인터페이스, 클래스는 직렬화 가능한 변명을 구현하는 경우에만 직렬화 될 수 있습니다.
* java.io.externalizable 인터페이스, Java 직렬화 및 사막화 도구를 사용하여 객체를 저장 및 복원하는 많은 작업을 자동으로 완료 할 수 있습니다.
* java.io.objectoutput 인터페이스, 직렬화가 전달되고 데이터 아웃 Put 인터페이스를 상속하고 객체 직렬화를 지원하는 일부 메소드를 정의합니다.
하이라이트 :이 클래스에서 writeObject () 메소드는 객체에 다른 객체 참조가 포함 된 경우 가장 중요한 메소드입니다.
* java.io.objectOutputStream 클래스, 스트림에 개체를 작성하고 구성 방법을 구성하는 데 책임이 있습니다 : ObjectOutputStream (outputStream out);
* java.io.objectinput 인터페이스, Serialize in. Datainput 인터페이스를 상속하고 일부 방법을 정의하여 객체 직렬화를 지원합니다.
* ObjectInputStream 클래스, 스트림에 객체를 읽는 담당자, 구성 방법 : ObjectInputStream (inputStream out);
***/
public static void main (String [] args) {
노력하다
{
// fileoutputStream 객체를 구성합니다
fileoutputStream f = 새 FileOutputStream ( "c : a.txt");
// ObjectOutputStream 객체를 구성합니다
ObjectOutputStream out = 새로운 ObjectOutputStream (f);
고객 고객 = 신규 고객 ( "BJ", 50);
// ObjectOutputStream 객체의 writeObject () 메소드를 사용하여 Serialize
out.writeObject (고객);
// ObjectOutputStream 객체를 닫습니다
out.close ();
// fileoutputStream 객체를 닫습니다
f.close ();
System.out.println ( "직렬화가 완료되었습니다!");
}
캐치 (ioexception e)
{
e.getStacktrace ();
}
}
}
클래스 고객은 직렬화 가능합니다
{
개인 정적 최종 최종 긴 SerialversionUID = 1L;
개인 문자열 이름;
사적인 int 연령;
공개 문자열 getName ()
{
반환 이름;
}
공개 int getage ()
{
귀환 연령;
}
공개 고객 (문자열 이름, int age)
{
this.name = 이름;
this.age = age;
}
공개 문자열 tostring ()
{
"name ="+name+", age ="+age;
}
}