2012-03-02 4 views
1

파일의 내용을 직렬화하려고하는데 관심이 있습니다. 실제 파일 바이트를 처리하는 데 자바 파일 객체를 사용합니다. File이 직렬화 가능하지만 Path를위한 것임을 알았습니다.파일 및 다른 객체를 직렬화하는 방법

File과 연관시키고 자하는 또 다른 JMS 객체가 있습니다. 그래서 파일 내용과 다른 객체를 포함하는 Parent 객체를 만들려고합니다. 그 부모 객체를 직렬화하십시오.

내가보기에 몇 가지 문제가 있습니다.

1) 내 파일은 1Kb에서 10GB 사이입니다. 큰 파일을 어떻게 처리 할 수 ​​있습니까? 2) 대용량 파일의 경우 직렬화가 느려질 수 있습니다?

이 직렬화 된 개체를 JMS 및 File 바이트와 함께 데이터베이스에 저장하는 것이 계획되었습니다. 내가 직접 파일을 넣고 JMS 메시지를 직렬화하는 것이 더 낫지 않겠습니까? 그것은 아주 깔끔하지는 않겠지 만 어쩌면 필요한 것일까 요?

또한 Camel을 제 브로커로 사용하고 있습니다. 나는 그것이 직렬화 기능을 가지고 있다는 것을 알고있다. 사실이 문서의 첫 번째 예제는 이진 파일로부터 블롭을 생성하는 것이다. 또한 일반 Java 직렬 변환기를 사용하므로 Camel을 사용하는 것이 도움이되는지 아프지는 않습니다.

+0

파일 내용을 직렬화하려는 것 같습니다 (파일 자체를 직렬화하는 것과 같지 않음). 이 경우 제목과 질문을 업데이트하십시오. 파일이 당신보다 다른 프로그램에 의해 쓰여질 수 있다는 것을 잊지 마십시오 ... –

+0

첫번째 줄은 파일의 실제 바이트를 말합니다. 그러나 나는 그것을 더 명확하게하려고 노력할 수 있습니다. – Derek

+0

파일은 한 묶음의 바이트입니다. 당신이 생각하는 것을 상상해보십시오. 실제로 해결하려고하는 문제로 질문을 확장해야합니다. 왜냐하면 10GB 파일을 '직렬화'하는 디자인이 하루의 조명에서 살아남을 것이라고 상상할 수 없기 때문입니다. – Perception

답변

0

대용량 데이터의 직렬화는 아마도 this question으로 간주되지만, 파일의 바이트를 다른 바이트 묶음으로 바꾸는 것이 목적이라면 아이디어 자체에 문제가있을 수 있습니다.

+1

아니야. 이것이 파일에 * 직렬화하는 방법입니다. – EJP

+0

네가 맞아, 나는 그 대답을 편집했다. 처음에는 "엄청난 양의 데이터"를 보았습니다. 그러나이 질문은 일련의 바이트를 일련의 객체로 변환하여 더 재미 있고 이상합니다. –

관련 문제