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