Могу поспорить, что вы думаете, что может быть IOException из-за этой строки:
Scanner fileScan = new Scanner(image); // making scanners
Но эта линия не делает то, что вы думаете, что делает. Поскольку image
является String
, будет использоваться конструктор Scanner(String)
. Но этот конструктор обрабатывает свой аргумент как строку для сканирования, а не как имя файла для сканирования.
Следовательно, new Scanner(image)
не выполняет никаких операций ввода-вывода и не объявляется как выдача IOException
.
И остальная часть кода в блоке тоже не выдаст IOException
. Методы Scanner
next / hasNext, которые вы используете, вызовут другое исключение, если во время чтения возникнет ошибка ввода-вывода. (Проверьте Javadocs.)
Кроме того, вы, кажется, неправильно понимаете, что File
является / делает.
File myFile = new File(image); //making files
Комментарий неверный. Это не делает файл.
На самом деле, он создает File
объект, который является представлением в памяти имени файла / пути. Создание объекта File
не приводит к созданию файла в файловой системе. (Опять же, проверьте Javadocs.)