직렬화, 역직렬화의 간단한 예제 소스코드를 남겨놓으려고 한다.
public class WebVO implements Serializable {
/**
*
*/
private static final long serialVersionUID = 6640500874707651002L;
private String name;
private transient String pwd;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
@Override
public String toString() {
return "WebVO [name=" + name + ", pwd=" + pwd + "]";
}
}
WebVO vo = new WebVO();
vo.setName("이름");
vo.setPwd("1234");
System.out.println( vo );
byte[] serializedVO;
try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
try (ObjectOutputStream oos = new ObjectOutputStream(baos)) {
oos.writeObject(vo);
// serializedMember -> 직렬화된 member 객체
serializedVO = baos.toByteArray();
}
}
String seri = Base64.getEncoder().encodeToString(serializedVO);
System.out.println( seri );
byte[] serializedMember = Base64.getDecoder().decode(seri);
try (ByteArrayInputStream bais = new ByteArrayInputStream(serializedMember)) {
try (ObjectInputStream ois = new ObjectInputStream(bais)) {
// 역직렬화된 Member 객체를 읽어온다.
Object objectMember = ois.readObject();
WebVO vo2 = (WebVO) objectMember;
System.out.println(vo2);
}
}
HashSet<Object> set = new HashSet<Object>();
[Java] 서버 IP 가져오기/내 컴퓨터 IP 가져오기/local IP 가져오기 (0) | 2020.06.02 |
---|---|
[Java] 현재 ROOT 경로 가지고 오기 (0) | 2020.04.05 |
댓글 영역