대규모 XML 파일의 루트 요소에 특성을 추가하는 가장 빠른 방법은 무엇입니까? 이러한 파일은 너무 커서 메모리로 읽을 수 없으므로 가능한 한 많은 I/O 패널티를 피하고 싶습니다.Java에서 방대한 XML 파일의 시작 부분에 속성을 추가하는 가장 효율적인 방법은 무엇입니까?
0
A
답변
5
처음부터 또는 근처에 텍스트를 삽입하는 경우 전체 파일을 다시 작성해야합니까? 한 번에 모두 메모리에 저장하지 않으려면 SAX 파서가 버퍼 입력 (InputStream을 통해)에 적용 가능해야합니다.
전체 파일을 다시 작성해야하지만 메모리에 한 번에 메모리가있는 것은 아닙니다. 기본적으로 파일을 파싱하고 SAX 이벤트를 듣고 해당 이벤트의 새 파일을 작성합니다. 그런 다음 SAX 파서는 속성을 추가하는 올바른 상황을 수신합니다.
+0
우수 답변 : –
0
그것은 (심지어 ... 어쩌면 당신은 시스템 레벨에서 파일을 조정 한 경우이 작업을 수행 할 수 있다고 생각하지 않지만) 자바에서 파일을 다시 작성하지 사실상 불가능하다 - 그래서 당신의 질문은 무엇된다 파일을 다시 쓰는 가장 효율적인 방법은 무엇입니까?
가능한 경우 모든 XML 파서를 피하고 자신의 의견을 쓰십시오. 이를 위해서는이 새로운 속성이 필요한 파일의 위치를 쉽게 식별 할 수 있어야합니다. 문자열과 일치하도록 문자열을 만들 수있는 경우 한 번에 조금씩 읽을 수 있고 삽입 지점을 검색하여 추가 데이터를 삽입 한 다음 나머지 부분을 계속 복사 할 수 있습니다.
관련 문제
- 1. 파일의 시작 부분에 write()?
- 2. Java에서 입력을받는 가장 효율적인 방법은 무엇입니까?
- 3. Java에서 XML 파일의 한 값을 변경하는 가장 좋은 방법은 무엇입니까?
- 4. ListBox에서 목록의 시작 부분에 항목을 추가하는 방법은 무엇입니까?
- 5. XML 파일을 deserialze하는 가장 효율적인 방법은 무엇입니까
- 6. g ++에서 텍스트 파일의 시작 부분에 추가하는 방법
- 7. vim에서 여러 줄의 시작 부분에 단어를 추가하는 방법은 무엇입니까?
- 8. wpf에서 텍스트 블록의 시작 부분에 CharacterEllipsis를 추가하는 방법은 무엇입니까?
- 9. Java에서 XML을 구문 분석하는 가장 메모리 효율적인 방법은 무엇입니까?
- 10. 파일의 모든 기능 시작 부분에 printf 추가
- 11. 파일의 시작 부분에 이상한 문자가 있습니다
- 12. iPhone - 오디오 파일의 시작 부분에 데이터를 추가하십시오.
- 13. 파일에서의 getline 후 파일의 시작 부분에
- 14. ListView의 시작 부분에 특수 항목을 추가하는 방법
- 15. java에서 로그 파일을 읽는 가장 효율적인 방법은 무엇입니까?
- 16. Java에서 키 - 값 쌍을 검색하는 가장 빠르고 효율적인 방법은 무엇입니까?
- 17. Java에서 UDP와 RPC를 결합하는 가장 쉽고 효율적인 방법은 무엇입니까?
- 18. WPF xaml 파일의 시작 부분에 xmlns = [some url] 속성이 무엇입니까?
- 19. Java - 중복 키와 관련된 값을 추가하는 가장 효율적인 방법은 무엇입니까?
- 20. WPF : ListView에 항목을 추가하는 가장 효율적인 방법은 무엇입니까?
- 21. NSMutableArray 시작 부분에 객체를 추가 하시겠습니까?
- 22. Java에서 TCP 스트림을 읽는 가장 효율적인 방법
- 23. 문자열 XML 조각을 XML 문서에 추가하는 가장 좋은 방법은 무엇입니까?
- 24. 제네릭 List <T>의 시작 부분에 객체 추가
- 25. 큰 XML 파일의 효율적인 저장 및 액세스
- 26. 스택을 반전하여 ArrayList에 추가하는 가장 효율적인 방법
- 27. 파일의 처음 부분에 쓰십시오.
- 28. Java에서 파일의 총 단어 수를 확인하는 가장 좋은 방법은 무엇입니까?
- 29. 사용자가 엔티티에 맞춤 속성을 추가하는 가장 좋은 방법은 무엇입니까?
- 30. 레일에서보기의 html 요소에 클래스 속성을 추가하는 가장 깨끗한 방법은 무엇입니까
이 새로 정의 된 AT & T 또는 옵션으로 정의하지만 채워지지 AT & T는 무엇입니까? – akf
새로 정의 된 속성 - 특히 JAXB가 객체를 비 정렬화할 수 있도록 namespace 속성. – Brian
네임 스페이스 선언을 특성으로 취급하는 데주의하십시오. 구문 분석기는 특수 처리를 제공하며 해당 정보를 특성으로 API에 공개 할 수 없습니다. – skaffman