Udostępnianie strumieni wyjściowych przez interfejs JNI

Piszę aplikację Java, która używa biblioteki C ++ za pośrednictwem interfejsu JNI. Biblioteka C ++ tworzy obiekty typuFoo, które są należycie przekazywane przez JNI do Javy.

Załóżmy, że biblioteka ma funkcję wyjściową

    void Foo::print(std::ostream &os)

i mam JavaOutputStream out. Jak mogę się odwołaćFoo::print z Java, tak aby wyjście było wyświetlaneout? Czy jest jakiś sposób na przymuszenieOutputStream do astd::ostream w warstwie JNI? Czy mogę przechwycić dane wyjściowe w buforze warstwy JNI, a następnie skopiować ją doout?

questionAnswers(3)

yourAnswerToTheQuestion