public static boolean isBytecode(InputStream is) throws IOException {
  if (!is.markSupported())   throw new IOException("can only read input streams that support mark/reset");
  is.mark(-1);
  int first=is.read();
  int second=is.read();
  boolean rtn=(first == ICA && second == IFE && is.read() == IBA && is.read() == IBE);
  is.reset();
  return rtn;
}

public static boolean isBytecode ( InputStream is ) throws IOException { if ( ! is . markSupported ( ) ) throw new IOException ( "can only read input streams that support mark/reset" ) ; is . mark ( - 1 ) ; int first = is . read ( ) ; int second = is . read ( ) ; boolean rtn = ( first == ICA && second == IFE && is . read ( ) == IBA && is . read ( ) == IBE ) ; is . reset ( ) ; return rtn ; }
check if given stream is a bytecode stream , if yes remove bytecode mark
