2013-05-08 2 views
1

Java의 아래 코드를 사용하여 이진 파일에 세 개의 객체를 쓰는 중입니다.ObjectOutputStream을 사용하여 이진 파일 업데이트

oout = new ObjectOutputStream(new FileOutputStream(fileName)); 
oout.writeObject(objClass1);    
oout.writeObject(objClass2);    
oout.writeObject(objClass3); 

objClass1의 일부 데이터를 수정하고 파일을 업데이트하려면 어떻게해야합니까? 또한 파일 끝에 objClass3을 추가하십시오. 당신은 하나의 개체를 업데이트 할 수 없습니다

답변

3

덕분에 ..., 당신은 전체 파일을 덮어 쓰기해야합니다. 파일에서 3 개의 개체를 모두 읽은 다음 새 objClass1 버전으로 다시 작성하십시오.

1

콘텐츠가있는 파일의 시작 부분에 쓸 수 없으므로 내용을 읽고 원하는 내용을 업데이트하고 모든 내용을 다시 써야합니다. .

  • HashStore 같은 객체 저장소를 사용하여 별도의 파일, Neodatis, db4o
  • 당신이 저장하는 RDMS를 사용할 수있는 각 개체를 쓰기 :이 매우 효율적이지 못하다는 그래서 난이 개 솔루션을 제안 객체 (mysql의 BLOB 유형) 직렬 방식으로
관련 문제