사용자가 정보를 파일로 저장하고 나중에 복원 할 수 있도록 응용 프로그램 인스턴스간에 일종의 교환 형식을 개발 중입니다. 전체 '교환 형식'은 직렬화되어 디스크에 기록되는 단일 클래스입니다.클래스 내부에 이미지/사운드를 저장하는 가장 좋은 방법은 무엇입니까?
그래픽/사운드 정보를 해당 클래스에 저장 하시겠습니까? 나는 그것들에 .jar 파일들을 넣는 것을 피하고 싶다.
사용자가 정보를 파일로 저장하고 나중에 복원 할 수 있도록 응용 프로그램 인스턴스간에 일종의 교환 형식을 개발 중입니다. 전체 '교환 형식'은 직렬화되어 디스크에 기록되는 단일 클래스입니다.클래스 내부에 이미지/사운드를 저장하는 가장 좋은 방법은 무엇입니까?
그래픽/사운드 정보를 해당 클래스에 저장 하시겠습니까? 나는 그것들에 .jar 파일들을 넣는 것을 피하고 싶다.
리소스를 byte [] 배열로 클래스에 저장하는 것이 좋습니다. ByteArrayInputStream 및 ByteArrayOutputStream을 사용하면 배열을 스트림으로 래핑하고이를 사용하여 리소스를 저장하고 검색 할 수 있습니다.
** me **
어때요? "최상의"방법은 대개 특정 응용 프로그램/사용 방법에 따라 다릅니다. 이미지/사운드는 파일에서 가져온 것입니까? 스트림에서? 클래스의 각 인스턴스가 별도의 이미지를 저장할 것으로 예상됩니까? 또는 다른 인스턴스간에 이미지를 공유 할 수 있습니까?
이
을 시도 이 을 공유 할 수 없습니다? Serializable 인터페이스를 사용하는 것이 최선의 방법이라고 생각합니다. 주제에 관해서는 two articles입니다. 기본적으로이미지 파일에서 온을 gsmd, 스트림에서 오는 소리; 실제로 일부는 이미지가 첨부 된 항목 중 세트가 있습니다. 이미지는 가
이은 무엇 방법 당신이
,
당신이 당신의 이미지와 사운드 클래스는 데이터를 사용하지만, 구현 작성하는 방법 사용자 정의 할 수 있습니다
개인 무효의 writeObject을 (ObjectOutputStream에 아웃) IOException이 던졌습니다;
private void readObject (ObjectInputStream in)가 IOException을 throw 할 경우, ClassNotFoundException;
스토어에게 데이터가 정확히 어쨌든 당신은 클래스 내부 좋아하지만 데이터에 대한 사용자 정의 직렬화를 구현합니다. Serializable을 참조하십시오.
이미지는 파일에서 가져오고 사운드는 스트림에서 나옵니다. 일부는 이미지가 첨부 된 항목 세트입니다. 이미지를 공유 할 수 없습니다. – yanchenko