/**
*将一个inputstream里面的数组全部读取到 一个数组中,这个能将数组数据全部读出来。
*/
public static byte[] getBytes(InputStream is)
throws Exception
{
byte[] data = null;
Collection chunks = new ArrayList();
byte[] buffer = new byte[1024*1000];
int read = -1;
int size = 0;
while((read=is.read(buffer))!=-1)
{
if(read>0)
{
byte[] chunk = new byte[read];
System.arraycopy(buffer,0,chunk,0,read);
chunks.add(chunk);
size += chunk.length;
}
}
if(size>0)
{
ByteArrayOutputStream bos = null;
try
{
bos = new ByteArrayOutputStream(size);
for(Iterator itr=chunks.iterator();itr.hasNext();)
{
byte[] chunk = (byte[])itr.next();
bos.write(chunk);
}
data = bos.toByteArray();
}
finally
{
if(bos!=null)
{
bos.close();
}
}
}
return data;
}