Reads bytes available from one InputStream and returns these bytes in a byte array. : Byte Read Write « File Input Output « Java






Reads bytes available from one InputStream and returns these bytes in a byte array.

   

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class Main {
  /**
   * 
   * @param in The InputStream to read the bytes from.
   * @return A byte array containing the bytes that were read.
   * @throws IOException If I/O error occurred.
   */
  public static final byte[] readFully(InputStream in)
    throws IOException
  {
    ByteArrayOutputStream out = new ByteArrayOutputStream(4096);
    transfer(in, out);
    out.close();

    return out.toByteArray();
  }

  /**
   * Transfers all bytes that can be read from <tt>in</tt> to <tt>out</tt>.
   *
   * @param in The InputStream to read data from.
   * @param out The OutputStream to write data to.
   * @return The total number of bytes transfered.
   */
  public static final long transfer(InputStream in, OutputStream out)
    throws IOException
  {
    long totalBytes = 0;
    int bytesInBuf = 0;
    byte[] buf = new byte[4096];

    while ((bytesInBuf = in.read(buf)) != -1) {
      out.write(buf, 0, bytesInBuf);
      totalBytes += bytesInBuf;
    }

    return totalBytes;
  }

}

   
    
    
  








Related examples in the same category

1.Byte Reader with FileInputStream
2.Byte Writer with FileOutputStream
3.Binary Dump OutputStream
4.Compare binary files
5.Buffered copying between source(InputStream, Reader, String and byte[]) and destinations (OutputStream, Writer, String and byte[]).
6.Write and read compressed forms of numbers to DataOutput and DataInput interfaces.
7.Count the number of bytes written to the output stream.
8.Read and return the entire contents of the supplied file.
9.Convert 4 hex digits to an int, and return the number of converted bytes.
10.Get bytes from InputStream
11.Read file as bytesRead file as bytes