Добрый день.
Поясните, пожалуйста, что-то не знаю, видимо:
1. Почему программа пишет, что необходимо закрыть поток, когда вроде бы мы его закрываем?
2. Почему в качестве максимального числа выводится 57, когда должно быть в данном случае 9 (максимальное число в файле 9)?
package com.javarush.task.task18.task1801;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/*
Максимальный байт
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader fileReader = new BufferedReader(new InputStreamReader(System.in));
String fileName = fileReader.readLine();
FileInputStream bytes = new FileInputStream(fileName);
List<Integer> intArray = new ArrayList<>();
while (bytes.available() > 0) {
intArray.add(Integer.parseInt(String.valueOf(bytes.read())));
}
int max = intArray.get(0);
for (Integer number : intArray) {
if (number > max) {
max = number;
}
}
System.out.println(max);
bytes.close();
}
}