code: public static boolean contentEquals(InputStream input1, InputStream input2)
        throws IOException {
      if (!(input1 instanceof BufferedInputStream)) {
        input1 = new BufferedInputStream(input1);
      }
      if (!(input2 instanceof BufferedInputStream)) {
        input2 = new BufferedInputStream(input2);
      }
  
      int ch = input1.read();
      while (EOF != ch) {
        int ch2 = input2.read();
        if (ch != ch2) {
          return false;
        }
        ch = input1.read();
      }
  
      int ch2 = input2.read();
      return ch2 == EOF;
    }
docs: Compare the contents of two Streams to determine if they are equal or
  not.
  <p>
  This method buffers the input internally using
  <code>BufferedInputStream</code> if they are not already buffered.
  
  @param input1  the first stream
  @param input2  the second stream
  @return true if the content of the streams are equal or they both don't
  exist, false otherwise
  @throws NullPointerException if either input is null
  @throws IOException if an I/O error occurs