在我当前的项目中,我使用 IKVM 来交叉编译几个处理 XML 各个方面的 Java 库。然后将这些库与几个 .NET 库和我的主线代码集成。一切正常,但我怀疑存在一些效率低下的地方,尤其是在基于流的数据访问领域。
许多 Java 库可以接受流式 SAX 类或其他流式对象,例如 OutputStream 等。在某些情况下,我可以将适当的 Java 类包装在一个相应的 .NET 子类中,以弥合差距并提供两种语言之间的无缝流式传输。例如,创建一个派生自 .NET MemoryStream 和 Java OutputStream 的类。然而,在大多数情况下,接口具有挑战性,我不得不传递整个字符串——即使我在 .NET 端有可用的流并且 Java 端接受(不同的)流类(反之亦然)。
一般来说,我的问题是,是否有人遇到过使用流向/从 IKVM 编译库传递数据的类似问题,以及它们是如何解决或缓解的?是否存在任何第三方解决方案来帮助弥合这一差距?例如,为 .NET XmlReader 和/或 XmlWriter 提供 Java SAX 包装器的代码将非常有用。