Here you can find the source of getBytes(InputStream is)
public static byte[] getBytes(InputStream is) throws IOException
//package com.java2s; /*//from ww w . jav a 2 s. com * jbittorrent library is an implementation in Java language of BiTorrent protocol. * * It is based on the Java Bittorrent API of Baptiste Dubuis, Artificial Inteligency Laboratory, EPFL. * @version 1.0 * @author Baptiste Dubuis * To contact the author: * email: baptiste.dubuis@gmail.com * * More information about Java Bittorrent API: * http://sourceforge.net/projects/bitext/ * * New contribution are: * 1. Optimization of process establishement of conecctions betwen the peers of the swarm. * 2. Improvements in the Choking Algorithm. * 3. Improvements in the Optimistic Unchoking implementation. * 4. Implementation of Rarest First algorithm . * 5. Implementation of End Game Strategy. * * This project contains three packs: * 1. jbittorrent is the "client" part, i.e. it implements all classes needed to publish files, share them and download them. * 2. trackerBT is the "tracker" part, i.e. it implements all classes needed to run a Bittorrent tracker that coordinates peers exchanges. * 3. test contains example classes on how a developer could create new applications and new .torrent file. * * Copyright (C) 2013 Sandra Ferrer, AST Research Group * * jbittorrent is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published * by the Free Software Foundation; either version 2 of the License, * or (at your option) any later version. * * jbittorrent is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * @version 1.0 * @author Sandra Ferrer Celma <sandra.ferrer@urv.cat> * */ import java.util.*; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; public class Main { public static byte[] getBytes(InputStream is) throws IOException { int len; int size = 1024; byte[] buf; if (is instanceof ByteArrayInputStream) { size = is.available(); buf = new byte[size]; len = is.read(buf, 0, size); } else { ByteArrayOutputStream bos = new ByteArrayOutputStream(); buf = new byte[size]; while ((len = is.read(buf, 0, size)) != -1) bos.write(buf, 0, len); buf = bos.toByteArray(); } return buf; } public static byte[] toByteArray(BitSet bits) { byte[] bytes = new byte[bits.length() / 8 + 1]; for (int i = 0; i < bits.length(); i++) { if (bits.get(i)) { bytes[i / 8] |= 1 << (7 - i % 8); } } return bytes; } }