一切皆可抽象

          大而無形 庖丁解牛 厚積薄發(fā) 滌慮玄覽
             ::  ::  ::  ::  :: 管理

          InputStream to Byte[]

          Posted on 2007-03-13 17:35 鋒出磨礪 閱讀(6468) 評論(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;
          ??? }

          評論

          # re: InputStream to Byte[]  回復(fù)  更多評論   

          2007-06-18 13:48 by 九層樓
          謝謝!!!很好!!!

          # re: InputStream to Byte[]  回復(fù)  更多評論   

          2008-02-28 14:07 by luffy
          很好~ 很強(qiáng)大~ 如果不知道流的大小呢~

          # re: InputStream to Byte[]  回復(fù)  更多評論   

          2008-02-28 20:45 by itaogo
          如果想計算流的大小,可以參考
          http://www.aygfsteel.com/itaogo/archive/2007/03/13/103594.html

          一般不建議使用InputStream to byte,這樣大的流就會內(nèi)存溢出。直接到文件硬盤輸出最好。看具體的應(yīng)用場景了。

          # re: InputStream to Byte[]  回復(fù)  更多評論   

          2009-02-16 10:49 by dongzgguang
          太棒了,謝謝

          # re: InputStream to Byte[]  回復(fù)  更多評論   

          2009-12-22 12:04 by eagle-daiq
          不錯。
          主站蜘蛛池模板: 安义县| 兰州市| 日喀则市| 尼木县| 余干县| 汨罗市| 灵寿县| 台江县| 娱乐| 疏勒县| 仲巴县| 蕉岭县| 泰州市| 乌鲁木齐市| 泸州市| 临西县| 玛曲县| 平湖市| 喀喇沁旗| 绥德县| 溧水县| 荥阳市| 安新县| 南涧| 烟台市| 北碚区| 白银市| 安平县| 南通市| 五河县| 蓝山县| 惠东县| 祁门县| 正蓝旗| 鸡泽县| 灵山县| 德安县| 山丹县| 阳春市| 太仆寺旗| 石嘴山市|