2012-06-18 2 views
1

Java 객체에서/TXT 파일을 생성/파싱하기위한 라이브러리/프레임 워크를 찾고 있습니다. 저는 Castor 나 JAXB 같은 것을 생각하고 있습니다. 파일과 객체 간의 매핑을 프로그래밍 방식으로 또는 XML/주석으로 정의 할 수 있습니다. TXT 파일이 균질하지 않으며 구분 기호 (고정 위치)가 없습니다. 파일의 크기가 크지 않기 때문에 DOM과 같은 처리가 허용되며 스트리밍은 필요하지 않습니다. 예를 들어자바에서 텍스트 파일 생성 및 구문 분석

: - 생각 XML,하지만 작고, 빠르고,

TextWriter.write(Collection objects) -> FileOutputStream 
TextReader.read(FileInputStream fis) -> Collection 

답변

2

난 당신이 google's protocol buffers

프로토콜 버퍼가 유연한 구조화 된 데이터를 직렬화 에 대한 효율적인 자동화 된 메커니즘 사용하는 것이 좋습니다 간단합니다. 데이터를 한 번 구성하는 방법을 정의한 다음 특수 생성 된 소스 코드를 사용하여 다양한 언어를 사용하여 다양한 데이터 스트림에서 또는 구조 데이터를 쉽게 읽고 쓸 수 있습니다. 배포 된 프로그램을 "이전"형식으로 컴파일하지 않고도 데이터 구조를 업데이트 할 수 있습니다.

Protobuf 메시지는 2 진 또는 텍스트 형식으로 내보내거나 읽을 수 있습니다.

다른 솔루션은 텍스트 파일이라고 부르는 것에 따라 달라집니다. base64가 충분히 텍스쳐 인 경우 을 이진 스트림의 base64 인코딩과 함께 사용하면됩니다.

+0

강력하게 보입니다. 감사합니다. 감사합니다. –

1

당신은 잭슨이 JSON으로 직렬화하고 다시

http://jackson.codehaus.org/

+0

또한, POJO 클래스가 아닌 en/decode 클래스가있는 경우 Jackson은 사용자 정의 인코더를 추가 할 수 있습니다. –

+0

텍스트 파일의 형식이 구조화되어 있지 않으며 고정 위치입니다 (파일은 Cobol 프로그램에서 읽음). –

0

그냥 생성하고 XML 또는 JSON 형식으로 구문 분석 사용하여이 작업을 수행 할 수 있습니다, 모든 일을 할 것입니다 거기 라이브러리의 전체 부하가있다 당신.

+0

텍스트 파일의 형식이 구조화되어 있지 않으며 고정 위치입니다 (파일은 Cobol 프로그램에서 읽음). 우리는 이미 프로젝트에서 XML과 JSON (de) 직렬화를 수행하지만이 경우는 특별합니다. –