После шапки функции идёт предупреждение компилятору о том, что могут быть исключения связанные с файлами, т. е. файлы не закрыли или его не существует. Давно не говорили о Eclipse, если вы вдруг забудете написать предупреждение компилятору, то всё можно поправить одним лишь нажатием и среда сама всё сделает:
Помощь в исключениях
Алгоритмы: Создание файла. Создаём файл при помощи класса PrintWriter, и делаем цикл по длине нашей динамической структуры и последовательно записываем в файл, в конце закрываем его. В принципе, тут уже не Pascal и в случае если вы не закрыли файл, у вас не будет исключений (хорошо это или плохо, судите сами), а лишь не сохранятся последние данные, которые в буфере обмена. Создание из файла. Создаём переменную (FR), которая отвечает за файл, присваиваем её подобию итератора (Scan), а также, куда будем сохранять данные из файла (array). Пока не конец файла: берём строку при помощи метода nextLine () от нашего «итератора». И присваиваем её для запоминания переменной s, затем создадим массив строк (a) и при помощи метода split ()(он добавляет в массив строки разделённые пробелом, но не обязательно им). Затем берём элемент a[0] который отвечает за тип добавляемого рабочего и если он совпадает с кем-нибудь из наших типов, то создаём объект соответствующего класса и добавляем его при помощи метода add (), в итоге присваиваем массив array — который теперь содержит данные с файла. Что может быть интересно: Integer. valueOf (_элемент_), преобразовать строку к int — запомните это как операцию для класса Integer (легко догадаться, что он отвечает за встроенный тип int). В Java есть два способа сравнения строк. 1-ый на ссылку (место в памяти) т. е. вопрос следующий — «Строки указывают на одно место в памяти?». Ему соответствует операция «==». 2-ой тип — это лексеграфический (грубо говоря, по порядку, о первого неравенства), есть таблица кодов и по ней сравнивают. Синтаксис таков: _Строка1_.equals (_Строка2_), где объект _Строка2_ унаследован от класса Object (базовый класс и он начало начал в Java).