Это самый простой способ, но он выбрасывает, если доступно менее 10 байтов. Если вы не хотите этого, используйте цикл. Почему-то я не понимаю, что вы делаете, это действительно не похоже на чтение первых 10 байтов:

    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");   
}  

т, я надеялся, что кто-нибудь сможет мне помочь с проблемой, с которой я столкнулся. Я пытаюсь заставить мою программу читать первые 10 байтов указанного файла. Я могу заставить его работать с skip (), но, очевидно, это противоположно тому, что я хочу (вместо этого удаляются первые 10). Я просмотрел все безрезультатно, если вы можете мне помочь, это было бы здорово. Вы, вероятно, можете видеть, что я уже пытался ввести чтение (b, off, len) в код, но это просто производит случайные символы в качестве выходных данных, а не фактические шестнадцатеричные символы, которые я хочу 74 65 71 и т. Д. (Редактировать: эти случайные символы представляют собой шестнадцатеричный код для числа прочитанных байтов, поэтому для текстового файла, содержащего 23 шестнадцатеричных символа, он выдает aa 3 (или, другими словами: 10,10,3 = 23)

Ответы на вопрос(2)

Ваш ответ на вопрос