2010-05-13 5 views
0

У меня есть файл csv 500 Мб. Мне нужно преобразовать его в файл XML.
Я использую Jaxb для создания xml-файла. Он отлично работает для небольшого количества данных.
, но для большого количества данных, таких как 300 мб, выбрасывается из памяти.
Может кто-нибудь сказать мне, что как я могу создать каждый элемент и записать его в файл
без создания всего дерева с помощью JAXB?»Jaxb для генерации XML непосредственно к OutputStream

Благодарности Сон

ответ

0

Преобразования CSV в XML вы должны ожидать размер данных должен быть примерно в 10 раз больше. Я предлагаю увеличить размер кучи до 10 Гб, если вы хотите использовать Jaxb для всего файла сразу, возможно, выше.

Другим подходом было бы преобразование одной строки CSV в время. Вы можете использовать Jaxb для этого, но вы можете найти однострочное утверждение println: m намного проще. В этом случае вы можете ожидать, что ваша программа будет использовать до 10 раз длинную строку. (Может быть несколько КБ)

+0

Можете ли вы представить какой-либо пример, как я могу сделать одну строку за раз, используя jaxb. Thanks Sonu – sonu

+0

Поместите заголовок в начале файла, прочитайте одну строку, сгенерируйте XML для этой строки, повторите до тех пор, пока не появится больше строк, напишите нижний колонтитул. –

+0

, пожалуйста, укажите пример кода. Thanks, Sonu – sonu

Смежные вопросы