コードで Netica Java ライブラリを使用して、ベイズ ネットを読み取り、調査結果を入力し、更新されたベイズ ネットをバイト配列に保存しています。バイト配列は(私が知る限り)完全に正常に保存されますが、ByteArrayInputStream を使用してそれをロードし直すことができないようです。
私のコードは次のとおりです。
Environ env = new EnvironI( null );
ByteArrayInputStream bais = new ByteArrayInputStream( myBinaryData );
bais.close();
Net model = new Net( new Streamer( bais, "templateFile.neta", env );
最後の行で失敗し、次のエラーが表示されます。
stderr: norsys.netica.NeticaException:
************** E R R O R ***************
** ErrorNumber = 2734
** ErrorSeverity = ERROR_ERR
** ErrorCategory =
** ErrorMessage = In function Net(Streamer inStream) constructor: buffer to decompress gzip 'internal' is too small (is 3082 but -981804177 needed)
ここには Netica ライブラリの特定のアプリケーションがあることに注意してください。また、これは私の OSX マシンでは問題なく動作しますが、Linux ボックスでは壊れているように見えることにも注意してください。
何か案は?