Я пишу Java-приложение, которое использует библиотеку C++ через интерфейс JNI. Библиотека C++ создает объекты типа Foo, которые должным образом передаются через JNI в Java.
Предположим, что библиотека имеет функцию вывода
void Foo::print(std::ostream &os)
и у меня есть Java OutputStream out. Как я могу вызвать Foo::print из Java, чтобы вывод появился на out? Есть ли способ OutputStream к std::ostream в слое JNI? Могу ли я захватить вывод в буфер уровня JNI и затем скопировать его в out?