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] 的元素。

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