На днях я попросил просмотреть приведенный ниже код. Это код, над которым я работаю, для сравнения байтового содержимого файлов, предположительно идентичных; он должен работать с файлами любого типа и любого размера. На этой фотографии показана часть критики одного человека. Мне нужна помощь в понимании этой конкретной критики, поскольку я ее вообще не понимаю, честно говоря, я не могу разобраться в ней: во-первых, я даже не могу сказать, озаглавлена ли часть с отступом как Предполагается, что цифра 3 ведет к остальной части — почему остальная часть не имеет такого же отступа, если так? они, кажется, думают, что использовать read(byte[]) неправильно, но я просто не могу понять их доводы в пользу этого; Я не знаю, почему они говорят о read(byte[]), возвращающем значение, хотя я думал, что этот метод просто передает байты из BufferedInputStream в byte[] —В противном случае я бы вообще не подумал, что он что-то вернет—; и я не знаю, откуда они берут переменные int len1 и int len2, я вообще не понимаю, как они связаны с рассматриваемым кодом.
Чтобы внести ясность: я не прошу провести обзор данного кода, он еще к этому не готов. Я просто прошу объяснить критику этого человека, чтобы я мог понять, что, по его мнению, в нем не так.
Я еще не решил, что буду делать. использовать для условия прерывания цикла While; Для этого я могу рассмотреть несколько различных альтернатив. Я не прошу помощи в этом вопросе — я просто указываю на это для ясности.
Я также знаю, что существуют существующие методы сравнения байтовое содержимое файлов, с этим мне не нужна помощь.
bin_1 = new BufferedInputStream(file_input_stream_1);
bin_2 = new BufferedInputStream(file_input_stream_2);
byte[] barr_1 = new byte[8192];
byte[] barr_2 = new byte[8192];
while(/*enter break-condition of your choice*/){
bin_1.read(barr_1); bin_2.read(barr_2);
if(Arrays.equals(barr_1, barr_2) == false){
break;
}
else{
/*Byte-Arrays are Re-Assigned to ensure that no bytes from the previous loop
carry-over.*/
barr_1 = new byte[8192];
barr_2 = new byte[8192];
continue;
}
}
Подробнее здесь: https://stackoverflow.com/questions/783 ... ntent-of-f