Почитай на вики про паттерн "Null Object".
Используй Files, чтобы в конструкторе класса Solution правильно инициализировать поле fileData объектом ConcreteFileData.
Если возникли какие-то проблемы со чтением файла по пути pathToFile, то инициализируй поле объектом NullFileData.
Требования:
Конструктор Solution должен инициализировать поле fileData объектом ConcreteFileData.
Если в конструкторе Solution возникла ошибка, нужно инициализировать поле fileData объектом NullFileData.
Конструктор Solution должен корректно устанавливать значение поля hidden у объекта ConcreteFileData.
Конструктор Solution должен корректно устанавливать значение поля executable у объекта ConcreteFileData.
Конструктор Solution должен корректно устанавливать значение поля directory у объекта ConcreteFileData.
Конструктор Solution должен корректно устанавливать значение поля writable у объекта ConcreteFileData.
1.Треба створити об'єкт Path. Далі у конструкторі викликати в необхідній послідовсності методи Files.
2. NullFileData параметр задати вже існуючий вийняток, тобто помилку (е)
Перефразирую полезный ответ эксперта. Необходимо узнать значение всех четырех параметров у получаемого файла (можно прямо в вызываемом тобой конструкторе), а не вносить их в конструктор фиксированным значением true/false. У класса Files есть все необходимые методы.