static void readFully(InputStream f, byte[] bytes, int start, int len) throws IOException {
    int offset = start;
    int remaining = len;
    while (remaining > 0) {
      int bytesRead = f.read(bytes, offset, remaining);
      if (bytesRead < 0) {
        throw new EOFException(
            "Reached the end of stream with " + remaining + " bytes left to read");
      }

      remaining -= bytesRead;
      offset += bytesRead;
    }
  }
static void readFully(InputStream f, byte[] bytes, int start, int len) throws IOException {
    int offset = start;
    int remaining = len;
    while (remaining > 0) {
      int bytesRead = f.read(bytes, offset, remaining);
      if (bytesRead < 0) {
        throw new EOFException(
            "Reached the end of stream with " + remaining + " bytes left to read");
      }

      remaining -= bytesRead;
      offset += bytesRead;
    }
  }
static void readFully ( InputStream f , byte [ ] bytes , int start , int len ) throws IOException { int offset = start ; int remaining = len ; while ( remaining > 0 ) { int bytesRead = f . read ( bytes , offset , remaining ) ; if ( bytesRead < 0 ) { throw new EOFException ( "Reached the end of stream with " + remaining + " bytes left to read" ) ; } remaining -= bytesRead ; offset += bytesRead ; } }
Visible for testing
Visible for testing