在 Java 代码中,我生成了一个线程,它每秒从模拟器收集 DIS 数据包,并尝试格式化 KML 输出。在我的 Java 代码中,我正在创建一个带有样式、地标和多边形的文档。每秒一次,我可以看到“marshal”API 例程确实使用我的数据创建了一个 KML 文件。但是,有时它会随机创建一个完整的文件,有时它会创建一个零长度文件。即使我关闭了我的 DIS 数据包生成器,并让我的 Java 代码仍在运行,它仍然会继续随机创建一个完整的文件,有时还会创建一个零长度的文件。当我将计时器从每秒更改为每 10 秒时,行为每 10 秒发生一次。
我尝试将 marshal() 用于 File 对象和 OutputStream 对象;同样奇怪的行为。