У меня возникло несколько вопросов по методу read(); Подскажите, пожалуйста.
Если вы посмотрите на мой код, то задачу я пытаюсь решить обычным пузырьковым алгоритмом, вопрос вот в чем, во 2 цикле while, 25 строчка, когда я считываю parametr2 = fileInputStream.read();, я считываю 1 байт из документа или 2 байт, так как первый считался здесь parametr1 = fileInputStream.read();?
Вопрос 2, если считывается 2 байт, то какой байт будет считываться, когда внутренний цикл while пройдет до конца, считая все байты, и начнет работать parametr1 = fileInputStream.read();?
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 read = reader.readLine();
FileInputStream fileInputStream = new FileInputStream(read);
int count = 0;
int max = 0;
int parametr1;
int parametr2;
int parametr3 = 0;
while (fileInputStream.available() > 0){
parametr1 = fileInputStream.read();
while (fileInputStream.available() > 0){
parametr2 = fileInputStream.read();
if (parametr1 == parametr2){
count++;
}
}
if (count > max){
max = count;
parametr3 = parametr1;
}
}
while (fileInputStream.available() > 0){
int k = fileInputStream.read();
if (parametr3 == k){
System.out.print(parametr3 + " ");
}
}
System.out.println(max);
fileInputStream.close();
reader.close();
}
}