4

これを除いて、正常に動作する JAXB マーシャル/アンマーシャル プロセスがあります。これは問題ありませんが、この例外の後、アンマーシャリングしているファイル (ソース xml ファイル Java オブジェクト) がブロックされます。使えません。

アンマーシャル例外の直後にファイルを削除または名前変更しようとしていることに気付きました。例外が発生しなければ、ファイルは問題なく使用できます。

このファイルを「ブロック解除」する方法はありますか? ファイルをブロックしている JAXB コンテキストまたは unmarshaller オブジェクトのリソースを解放、クローズ、または解放する方法が必要だと思います。

前もって感謝します、

ダニ

4

2 に答える 2

3

FileInputStreamファイルから を作成し、それを非整列化することができます。これにより、エラーが発生したときに何が起こるかをより詳細に制御できます。

FileInputStream inputStram = new FileInputStream(file);
Foo foo = (Foo) Unmarshaller unmarshal(inputStream);
于 2012-09-12T20:52:20.050 に答える
1

finally ブロックでリソースの解放 (ストリームを閉じるなど) がありませんでした。何年も前のNoobエラー!ありがとう!

于 2018-05-22T18:53:36.080 に答える