MENU

Java XMLEncoder로 객체 저장

목차

Java XMLEncoder에서 객체 저장,XMLDecoder으로 복원

Java에서 개체XML 형식에서 저장할 샘플 프로그램을 소개합니다.
XML 출력은java.beans.XMLEncoder를 사용합니다.
java.beans.XMLDecoder를 사용하여 저장된 객체를 복원하는 샘플 프로그램도 동시에 소개합니다.


샘플 프로그램

  • 비공개로 선언된 필드는 Getter 및 Setter 메서드를 정의할 때 저장됩니다.
  • 변수가 변경된 경우에만 XML 파일에 저장됩니다.
  • 보존하는 오브젝트는 java.util.HashMap나, java.util.ArrayList등도 지정할 수 있습니다. 간단히 객체의 상태를 저장하는 데 유용합니다.

※보존하는 클래스의 샘플로서, 이하의 클래스를 사용합니다.

실행 결과

◆실행예

◆출력 결과

소프트 이름: Chat & Messenger 채팅도 메신저도! ! URL: https://chat-messenger.com/

◆C:\\FreeSoft.xml의 내용

 Chat & Messenger 채팅도 메신저도! ! https://chat-messenger.com/ 

이용하는 경우의 주의점

편리한 java.beans.XMLEncoder, java.beans.XMLDecoder 클래스입니다만, Chat&Messenger 로 실천적으로 이용하면, 매우 레어 케이스입니다만, java.beans.XMLEncoder 로 XML에 출력시, 파일이 0 바이트가 되는 문제를 확인 중입니다.
0바이트의 파일을 읽으면 「표준 에러 출력」에 ParseException가 기록됩니다.

이 원인은 FileOutputStream 의 인스턴스를 생성한 시점으로, 파일은 비워져 버립니다.
FileOutputStream 인스턴스 생성 후 XML 데이터를 출력하기 전에 Java 프로세스가 종료되면 발생한다고 생각합니다.

Chat&Messenger는 이 문제로 인해 백업 파일을 만들고 문제를 해결합니다.

  • URL을(를) 확인했습니다!
목차