是否有任何现有的C++/JNI库可以在Java InputStream和C++ istream以及Java OutputStream和C++ ostream之间进行编组访问?特别是,我希望Java应用程序能够将InputStream或OutputStream传递到使用iostreams作为其流接口的C++库中。
如果没有现有的库,那么我需要在istream/ostream实现中实现的最低功能是什么?更糟糕的是,我还需要支持seek和tell,尽管原则上我应该能够使用mark、reset和skip来做我需要的事情。
由于这些流可能相当大,所以我不想简单地将它们加载到ByteArray中,然后将其转换为stringstream等。
发布于 2014-04-06 19:52:02
我假设您的源/接收器是Java对象,您的C++库需要从InputStream读取并写入Java OutputStream实例,并且您需要一个C++ IO流的外观,您可以将这些流传递给您的C++部件,这些部件将调用数据到您的Java对象中。
我建议使用Java为C++流实现C++ IO流外观。浏览文档和示例。您需要的是stream_buffer和stream类以及您自己实现的水槽和来源概念(也请参阅设备概念和班级)。
更新
要实现查找,您需要实现SeekableDevice概念并在category中提供适当的标记。
https://stackoverflow.com/questions/22898923
复制相似问题