Java Scanner con InputStream no funciona

Estoy leyendo un InputStream (fis) de una fuente y en el que tengo que hacer una búsqueda múltiple. Estoy usando la clase Scanner y la instancia después de cada búsqueda. Pero funciona solo la primera vez. ¿Hay alguna manera de restablecer el objeto Scanner? No tengo control sobre la transmisión.

Scanner sc = new Scanner(new BufferedReader(new InputStreamReader(
                fis, MIFConstants.ENCODING_UTF_8)));
        int count = 0;
        while (sc.hasNextLine()) {
            count++;
            sc.nextLine();
        }
        System.out.println(count);

        sc = new Scanner(new BufferedReader(new InputStreamReader(fis,
                MIFConstants.ENCODING_UTF_8)));
        count = 0;
        while (sc.hasNextLine()) {
            count++;
            sc.nextLine();
        }
        System.out.println(count);

La segunda impresión devuelve cero. ¿Alguna idea sobre esto?

Respuestas a la pregunta(4)

Su respuesta a la pregunta