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)