2011-02-26 3 views
1

pdf 및 odt 파일의 inputStream을 버퍼링하는 것과 관련하여 이상한 점이 있습니다. 15 페이지, 그러나 항상 당신은 source code here 볼 수있는이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) 

처럼 끝 - 그들은 단지 5 너무 큰되지 않습니다. Apache Tika 문제가 아닌 JVM 문제이기 때문에 여기에서 묻습니다.

EDITED : 그런 어리석은 질문에 대해 죄송합니다. 문제는 4am :-)입니다. 문제는 4 가지 5 가지 테스트가 실패하여 클래스 로더가 해당 리소스를 찾았지만 예상하지 못했던 것입니다. "파일/파일"이 오타되었습니다 ... Stil이 왜 그 중 하나가 통과했는지 이해하지 못합니다.

답변

2

명백한 질문은 잘하지만,로드하려는 리소스 파일은 테스트의 클래스 경로에서 액세스 할 수 있습니까? ?

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

JVM/Java 클래스 라이브러리 문제 일 가능성이 낮습니다. 그것은 당신의 테스트 케이스이거나 잘못한 티카 일 것입니다.

예외는 이미 닫힌 스트림에서 읽으려고 할 때 발생합니다. 표준 스트림 클래스는 자발적으로 닫히지 않습니다.


내가 진짜 문제가 무엇인지 알아 내기 위해가는 경우에, 나는, 디버거를 사용을 testcases 중 하나를 실행 거라고는 BufferedInputStream.close() 방법에 중단 점을 설정하고 위치를 알아 내기 위해 시도하고 이유를 부름을 받았다.