Posted on 2007-03-13 17:35
鋒出磨礪 閱讀(6462)
評論(5) 編輯 收藏 所屬分類:
java算法
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;
??? }