>  기사  >  Java  >  Java 직렬화 및 역직렬화 샘플 코드 공유

Java 직렬화 및 역직렬화 샘플 코드 공유

黄舟
黄舟원래의
2017-03-27 10:33:591422검색

이 글에서는 주로 Java 직렬화 및 역직렬화 예제 관련 정보를 자세히 소개합니다. 필요한 친구는

자세한 Java 직렬화 및 역직렬화 예제

를 참고하세요. 분산 응용 프로그램에서 객체는 직렬화된 후에 분산 구성 요소 간에만 전송될 수 있습니다. 여기에는 기술의 두 가지 측면이 포함됩니다. 송신자는 객체를 직렬화하고 수신자는 객체를 역직렬화합니다. 여기에 좋은 예가 있습니다.

1.엔터티-직원

import java.io.Serializable; 
 
public class Employee implements Serializable{ 
  /** 
   * 
   */ 
  private static final long serialVersionUID = 1L; 
  public String getName() { 
    return name; 
  } 
  public void setName(String name) { 
    this.name = name; 
  } 
  public int getAge() { 
    return age; 
  } 
  public void setAge(int age) { 
    this.age = age; 
  } 
  private String name; 
  private int age; 
}

2.SerializeHelper

import java.io.ByteArrayInputStream; 
import java.io.ByteArrayOutputStream; 
import java.io.IOException; 
import java.io.ObjectInputStream; 
import java.io.ObjectOutputStream; 
 
public class SerializeHelper { 
  public byte[] Serialize(Object object) { 
    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); 
    try { 
      ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream); 
      //将对象写入到字节数组中进行序列化 
      objectOutputStream.writeObject(object); 
      return byteArrayOutputStream.toByteArray(); 
    } catch (IOException e) { 
      e.printStackTrace(); 
    } 
    return null; 
  } 
   
  public Object deSerialize(byte[] bytes) { 
    //将二进制数组导入字节数据流中 
    ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes); 
    try { 
      //将字节数组流转化为对象 
      ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream); 
      return objectInputStream.readObject(); 
    } catch (IOException e) { 
      e.printStackTrace(); 
    } catch (ClassNotFoundException e) { 
      e.printStackTrace(); 
    } 
    return null; 
  } 
}

3.

public class Hello { 
 
  /** 
   * @param args 
   */ 
  public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    SerializeHelper serializeHelper = new SerializeHelper(); 
    Employee employee = new Employee(); 
    employee.setName("admin"); 
    employee.setAge(20); 
    byte[] serializObject = serializeHelper.Serialize(employee); 
    System.out.println(serializObject); 
     
    Employee e = (Employee)serializeHelper.deSerialize(serializObject); 
    System.out.println("Name: " + e.getName()+",Age: " + e.getAge()); 
  } 
}

4. 출력

[B@e05d173 
Name: admin,Age: 20

5. 요약

직렬화 및 역직렬화 등을 완료할 수 있습니다. Hession 같은 다른 프레임워크도 기회되면 다시 공부해보겠습니다!

위 내용은 Java 직렬화 및 역직렬화 샘플 코드 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.