當前位置:編程學習大全網 - 源碼下載 - Java中如何將OutputStream轉換為InputStream

Java中如何將OutputStream轉換為InputStream

妳很快會被問道,“java中如何將OutputStream轉換為InputStream?” 方法壹:使用字節數組緩存數據 最簡單的方法是用字節數組緩存數據。代碼如下: ByteArrayOutputStream out = new ByteArrayOutputStream();class1.putDataOnOutputStream(out);class2.processDataFromInputStream(new ByteArrayInputStream(out.toByteArray())); 於是,OutputStream就被轉換為InputStream了。 方法二:使用管道 第壹種方法的問題是妳必須有足夠的內存緩存所有數據。妳可以使用文件系統緩存更多數據,但無論如何可處理數據的大小還是受到限制。 解決方法是創建壹個線程產生數據到PipedOutputStream。當前線程可從中讀取數據。 PipedInputStream in = new PipedInputStream();PipedOUtputStream out = new PipedOutputStream(in);new Thread(new Runnable(){public void run(){class1.putDataOnOutputStream(out);}}).start();class2.processDataFromInputStream(in); 方法三:使用循環緩存區 方法二中的兩個管道流,實際上管理著壹個隱藏的循環緩存區。使用壹個顯式的循環緩存區更易於理解。CircularBuffers 有如下優點: 壹個CircularBuffers類而不是兩個管道類。 較於緩存所有數據和額外線程的方法更容易使用。 妳可以更改緩存大小而不必受限於管道緩存區1K的固定緩存大小。 多線程情形: CircularByteBuffer cbb = new CircularByteBuffer();new Thread(new Runnable(){

  • 上一篇:Th100溫濕度傳感器制造商
  • 下一篇:請問煙臺會計從業資格考試用的用友軟件是哪個版本的?有教程麽
  • copyright 2024編程學習大全網