Передача текста C -> Java с использованием JNI - PullRequest
1 голос
/ 07 июня 2010

Я хотел бы узнать и получить помощь в реализации, если это возможно, о лучшем способе перевода очень большого количества в чистый текст из C в Java с использованием JNI. ... Я хочу добавить, что я пытался поместить весь текст в одну строку, но в какой-то момент, когда файл достигает 140 МБ, возникает ошибка kernell32.dll (вне JVM). Я хочу получить hish как 700 МБ, поэтому мне нужна чистая реализация. я думал о том, чтобы поместить максимальное количество текста в каждый элемент вектора, но не знал, с чего начать.

спасибо

1 Ответ

0 голосов
/ 08 июня 2010

Я думаю, что я использовал бы StringBuffer в Java и добавил бы к нему фрагменты фиксированного размера строк.То есть прочитайте 50 или 100 МБ текста (или до EOF) в C ++, затем вызовите StringBuffer.append(String) из JNI.

Вы можете начать с блоков размером 10 МБ и посмотреть, работает ли он.Если нет, увеличьте размер чанка.Но я думаю, что небольшие размеры также должны давать достаточно быстрые результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...