InputStream流的二次讀取

//獲取客戶端InputStream對象
InputStream input= requset.getInputStream();
//將InputStream對象轉換成ByteArrayOutputStream
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();  
byte[] buffer = new byte[1024];  
int len;  
while ((len = input.read(buffer)) > -1 ) {  
    byteArrayOutputStream.write(buffer, 0, len);  
}  
byteArrayOutputStream.flush();                
//將byteArrayOutputStream可轉換成多個InputStream對象,達到多次讀取InputStream效果
InputStream inputStreamA = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
InputStream inputStreamB = new ByteArrayInputStream(byteArrayOutputStream.toByteArray()); 
//將InputStream轉換成字符串
BufferedReader br = new BufferedReader(new InputStreamReader(inputStreamB,"UTF-8"));
String line = null;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
    sb.append(line);
}

發佈了142 篇原創文章 · 獲贊 138 · 訪問量 95萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章