JAXB解组错误后java文件被阻止
我有一个JAXB-marshall/unmarshall过程,它工作得很好,除了这个:有时我必须解组的文件是空的或者格式不好,所以解组会抛出一个异常。这是可以的,但是在这个异常之后,我正在解组的文件(源xml文件java对象)被阻塞。我不能用它
我注意到,在解组异常之后,试图删除或重命名该文件。如果没有异常发生,文件可以毫无问题地使用,这是应该的
有没有办法“解除阻止”这个文件?我认为必须有任何方法来释放、关闭或释放阻塞我的文件的JAXB上下文或解组器对象的资源
提前感谢,
丹尼
# 1 楼答案
您可以从文件中创建一个
FileInputStream
,然后将其解组。这样,您就可以更好地控制错误发生时发生的情况# 2 楼答案
我错过了最后一块中的资源释放(关闭流等)。许多年前的错误!谢谢