inputStream轉化成outputStream

//將inputStream轉換成String
import java.io.ByteArrayOutputStream;
import java.io.InputStream;

class StreamTools {

    static String readInputStream(InputStream is) throws Exception {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        int len ;
        byte[] buffer = new byte[1024];        //緩衝區
        while((len = is.read(buffer))!=-1) {   //將接受的數據寫入緩衝區數組buffer
            baos.write(buffer,0,len);          //將緩衝區buffer寫入byte數組輸出流
        }
        is.close();
        baos.close();
        
        return new String(baos.toByteArray());  //將以byte數組返回輸出流中的有效內容
    }
}
public int read(byte[] b) throws IOException

從輸入流中讀取一定數量的字節,並將其存儲在緩衝區數組 b 中。
以整數形式返回實際讀取的字節數。在輸入數據可用、檢測到文件末尾或者拋出異常前,此方法一直阻塞。
如果 b 的長度爲 0,則不讀取任何字節並返回 0;否則,嘗試讀取至少一個字節。
如果因爲流位於文件末尾而沒有可用的字節,則返回值 -1;否則,至少讀取一個字節並將其存儲在 b 中。
將讀取的第一個字節存儲在元素 b[0] 中,下一個存儲在 b[1] 中,依次類推。讀取的字節數最多等於 b 的長度。
設 k 爲實際讀取的字節數;這些字節將存儲在 b[0] 到 b[k-1] 的元素中,不影響 b[k] 到 b[b.length-1] 的元素。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章