создал массив с байтами (ArrayList<Integer> bytelist), и затем добаляю в массив (ArrayList<Integer> byterepeat) количество повторений каждого байта.
почемуто последний элемент массива батов не проверяется. и не добаляется в byterepeat.
также непонимаю как дальше отсеить байты.
вывод для файла
[251, 226, 224, 251, 224, 251, 13, 10, 13, 10] это bytelist
[3, 1, 2, 3, 2, 3, 2, 2, 2] это byterepeat
package com.javarush.task.task18.task1803;
/*
Самые частые байты
*/
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileAdress = reader.readLine();
FileInputStream fileInputStream = new FileInputStream(fileAdress);
int a = 0;
ArrayList<Integer> bytelist = new ArrayList<Integer>();
ArrayList<Integer> byterepeat = new ArrayList<Integer>();
while(fileInputStream.available()>0){ //заносим байты в аррейлист
a = fileInputStream.read();
bytelist.add(a);
}
int b1 = 0; int b2 = 0;
int i = 0;
int c1 = 0; int c2 = 0;
for(i = 0; i <bytelist.size()-1; i++) { //перебор bytelist
b1 = bytelist.get(i);
c2 = 0;
for(int j = 0; j<bytelist.size(); j++) { //сравниваем каждый байт с остальными
if (b1 == bytelist.get(j)) {
c2++;
}
}
byterepeat.add(c2);
}
fileInputStream.close();
reader.close();
System.out.println(bytelist);
System.out.println(byterepeat);
/*
int d1 = 0; int d2 = 0;
for(int ii = 0; ii< byterepeat.size()-1; ii++){
d1 = byterepeat.get(ii);
if(d1 > d2){ d2 = d1;}
}*/
}
}