public static String getTextOf(String xsl) throws Exception {
DocXHandler docxh1 = new DocXHandler(ACE.getInputFilePath());
InputStream inputDocumentXMLStream = docxh1.getInputDocumentXMLZERO();
return new Cache().getXSLOutput(inputDocumentXMLStream, xsl);
}
위의 방법은 다른 xsl 인수로 100 회 이상 호출됩니다. 이제는 InputStream inputDocumentXMLStream에 값이 할당 될 때마다 (예 : 100 회 이상). 내가 전역 속성으로 inputDocumentXMLStream을 변경하여왜 InputStream을 재사용 할 수 없습니까?
public static String getTextOf(String xsl) throws Exception {
return new Cache().getXSLOutput(inputDocumentXMLStream, xsl);
}
, 한 번만의 InputStream가 value.My 코드가 지금과 같이되었다 할당됩니다 같은 방법으로이 코드를 리팩토링하는 것을 시도하고있다. 그래서 전화 나 어떻게 다시 읽고,
Unexpected end of ZLIB input stream
를 처음 내가 올바른 결과를 얻고있다하지만 두 번째로 나는 아래의 오류?
@Kate : 도움이 될 것입니다. 나는 동일한 파일을 반복해서 읽는 것과 비교하여 프로그래밍에 약간의 노력이 있다는 것을 이해합니다. 하지만 일단 끝나면 훨씬 나아 졌다고 생각합니다. –
@Kate 조언은'Map'에서'InputStream'을 저장하는 것이 아닙니다 (이것은 정말 나쁜 접근입니다).파일을 열어 ('InputStream' 등으로) 파일을 구문 분석하여 파일의 메모리 내 표현을 작성하고이 구조를 통해 액세스 및 탐색을 용이하게하는 메소드를 가져야합니다. –
@LuiggiMendoza : 이미 언급했는데 특정 Java 객체를 사용하도록 조언하지 않았습니다. 한 번 파일을 구문 분석하고 파싱 된 개체를 다시 사용한다는 생각을 공유하려고합니다. 다른 건 없어. 희망이 명확하게. –