Java tutorial
//package com.java2s; //License from project: Open Source License import java.io.IOException; import java.io.InputStream; public class Main { /** * Reads bytes from the specified inputstream into the specified target buffer until it is filled up */ public static void readBytesUntilFull(InputStream in, byte[] targetBuffer) throws IOException { int totalBytesRead = 0; int read; final int targetBytes = targetBuffer.length; do { read = in.read(targetBuffer, totalBytesRead, (targetBytes - totalBytesRead)); if (read != -1) { totalBytesRead += read; } else { throw new IOException("Unexpected EOF reached before read buffer was filled"); } } while (totalBytesRead < targetBytes); } }