2011-02-26 61 views
1

关于缓冲pdf和odt文件的inputStream,我有一个奇怪的问题。他们没有那么大,只有5 - 15页,但它最终总是这样在Java中缓冲inputStream时出现奇怪的IOException

java.io.IOException: Stream closed 
    at java.io.BufferedInputStream.getInIfOpen(BufferedInputStream.java:134) 
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) 
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:258) 
    at java.io.BufferedInputStream.read(BufferedInputStream.java:317) 
    at java.io.FilterInputStream.read(FilterInputStream.java:90) 

你可以看到source code here。我在这里问,因为它似乎不是Apache Tika问题,而是JVM问题。

编辑:对不起这样一个愚蠢的问题,这是4am :-)问题是,从5测试4失败,所以我期望类加载器找到这些资源,但它没有。有一个错误的“文件/文件”......斯蒂尔不明白为什么其中一人通过了

回答

2

对不起,要问一个明显的问题,但是你试图加载在测试的类路径中可访问的资源文件?

 
String resourceLocation = "file/Designandrealizationofanintranetportal.pdf"; 
2

这是非常不可能是JVM/Java类库问题。它将成为你的测试用具或Tika。

当某件事情试图从已经关闭的流中读取时发生异常。标准流类不会自发地关闭。


如果我要找出真正的问题是什么,我会运行使用调试器的测试用例的一个,设置在BufferedInputStream.close()方法中设置断点,并试图找出其中,为什么被称为。

相关问题