2012-04-24 73 views
0

我們編寫了一個新的API,它使用SAX API處理文檔,並允許調用者傳遞處理SAX事件的SAX ContentHandler實例。這有效,但我們也有遺留代碼,它將內容視爲InputStream。將SAX ContentHandler字符(..)轉換爲InputStream

所以,我們需要實現SAX ContentHandler,它有一個getStream()方法,該方法返回InputStream,並在ContentHandler#字符(..)中接收到字符。有關如何有效地做到這一點的任何想法?

感謝

+0

這是Java,對嗎? ;)請發佈一些代碼,顯示迄今爲止您嘗試過的內容。 – paulsm4 2012-04-24 23:22:27

+0

是的,它是Java。我們沒有太多。這就是我們都在思考: StreamingContentHandler: 公共無效字符(字符[]通道,詮釋開始,詮釋長度)拋出的SAXException \t { \t \t // TODO:如果塊輸入流不被迅速耗盡足夠的 \t \t String str = new String(ch,start,length); (str.getBytes(「UTF-8」)); \t \t super.characters(ch,start,length); \t} – alecswan 2012-04-25 01:20:40

回答

0

我們結束了使用BodyContentHandler從提卡和傳遞的PipedOutputStream它其中管道字符的PipedInputStream。