Lectura de los primeros 10 bytes de un archivo en Java

    for (String name : filenames) {   
FileInputStream in = new FileInputStream(input.readUTF());   
    int byteCounter = 0;   
    int rowCounter = 0;   
    long bufferCounter = 0;   
 ,   byte[] b = new byte[8];   
    int read;   

    //in.skip(10);   
    //while((read = in.read()) != -1){   
    while((read = in.read(b, 0, 10)) != -1){   
        byteCounter ++;   
        if (byteCounter != 1000){   
            if (rowCounter == 16){   
                System.out.println("\n");   
                rowCounter = 0;   
            }   
        System.out.print(Integer.toHexString(read) + "\t");   
            bufferCounter ++;   
            rowCounter ++;   
        }else{   
                byteCounter = 0;   
                try{   
                    Thread.sleep(200);   
                }catch(InterruptedException e) {   
                }   
        }   
    }   
    System.out.println("\n"+"================"+"\n");   
}  

Hola, esperaba que alguien pudiera ayudarme con un problema que he tenido. Estoy tratando de hacer que mi programa lea en los primeros 10 bytes de un archivo especificado. Puedo hacer que funcione con skip (), pero obviamente esto hace lo contrario de lo que quiero (elimina los primeros 10 en su lugar). He buscado todo en vano, si me pueden ayudar, eso sería Excelente. Probablemente pueda ver que ya he intentado ingresar la lectura (b, off, len) en el código, pero esto solo produce caracteres aleatorios como salida en lugar de los caracteres hexadecimales reales que quiero 74 65 71, etc. los caracteres parecen ser el código hexadecimal para la cantidad de bytes leídos, por lo que para un archivo de texto que tiene 23 caracteres hexadecimales, produce aa 3 (o, en otras palabras: 10,10,3 = 23)

Respuestas a la pregunta(2)

Su respuesta a la pregunta