2011-02-26 49 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()方法中設置斷點,並試圖找出其中,爲什麼被稱爲。