Это расширение вопроса, который я задал здесь сегодня утром, поэтому, пожалуйста, не оставляйте без внимания, если вы думаете, что видели этот код раньше: D
for (String name : filenames) {
FileInputStream in = new FileInputStream(input.readUTF());
int byteCounter = 0;
int rowCounter = 0;
long bufferCounter = 0;
byte[] b = new byte[10];
int read;
//in.skip(10);
//while((read = in.read()) != -1){
while((read = in.read(b, 0, 10)) != -1){
byteCounter ++;
if (byteCounter != 1000){
if (rowCounter == 1){
System.out.println("\n");
rowCounter = 0;
}
System.out.print(org.apache.commons.codec.binary.Hex.encodeHexString(b));
bufferCounter ++;
rowCounter ++;
}else{
byteCounter = 0;
try{
Thread.sleep(200);
}catch(InterruptedException e) {
}
}
}
System.out.println("\n"+"================"+"\n");
}
Приветтам, после нескольких часов изо всех сил, чтобы получить этот код, как он есть, я почти закончил конкретный компонент, над которым я работаю.Программа принимает указанный файл и должна преобразовать первые 10 байтов этого файла в шестнадцатеричный формат.Как только он получит первые 10 байтов этого файла, он должен остановиться и перейти к следующему указанному файлу.В настоящее время он берет весь файл и делит его на несколько 10-байтовых «кусочков», которые затем распечатывает.Другими словами, он не останавливается после того, как первые 10 байтов, которые я считал прочитанными (byte [] b, int off, int len), сделали
Пример вывода:
74656173676173677361
67616773617367616773
61676173617367616773
но вместо него должно получиться
74656173676173677361
Любой совет будеточень ценю это, и я действительно имею в виду, что:)