2013-03-28 2 views
4

왼쪽에 트리 뷰 컨트롤이 도킹 된 MDI 응용 프로그램과 해당 노드 종류의 편집기 인 트리 노드 정보를 포함하는 5 개의 클래스가 있습니다.여러 객체를 하나의 이진 파일로 일련 화

  • 모든 개체가 단일 이진 파일로 직렬화되도록 응용 프로그램을 직렬화해야합니까?

  • 하나의 파일을 모든 컴퓨터에 보낼 수 있도록 내 리소스를 저장하는 방법은 무엇입니까?

감사합니다.

답변

7

여러 객체를 하나의 파일로 직렬화하려면 모든 객체를 하나의 객체로 간단히 결합하면됩니다.

예를 들어, 객체의 많은 이들처럼 직렬화 할 필요가 있습니다

Teacher t = new Teacher(); 

Student[] students = new Student[] { ... }; 

Tool blackboard = new Tool(); 

... 

그리고이 모든 객체가 직렬화해야합니다.

해당 개체를 포함 할 컨테이너를 만들고 일련화할 수 있습니다.

[Serializable] 
class School 
{ 
    Teacher t; 

    Student[] students; 

    Tool blackboard; 
} 

지금, 당신은 단지 하나 개의 바이너리 파일로 학교 객체를 직렬화 할 필요가있다.

+0

그래도 두 가지 의문의 여지가 있습니다. 1. 컨테이너 클래스의 객체에 serializable 속성이 필요하지 않습니까? 2. 파일을 목록의 바이트 배열로 저장할 수 있습니까? –

+0

@SriHarshaChilakapati : 우선, 아니요. 그러나 직렬화의 모든 세부 사항을 처리하려면 ISerializable 인터페이스를 구현하는 것을 고려할 수 있습니다. 둘째, 바이트로 파일을 읽으려는 것입니까? 보십시오 [FileStream] (http://msdn.microsoft.com/en-us/library/system.io.filestream.read.aspx) –

+0

감사. 노력하고 노력하고 있습니다. –