Всем привет, друзья! Задачу решил, но вот эта "нелогичная логика" меня убивает, из-за чего и провозился долго. А именно: Обратимся к вопросу (если строго следовать букве задачи): "Если передан не txt-файл, например, file.txt.exe, то конструктор должен выбрасывать исключение UnsupportedFileNameException." ТО ЕСТЬ, ДРУГИМИ СЛОВАМИ: проверка должна идти(по-моему скромному разумению): ДО ТОГО, как файл будет передан объекту выше по иерархии ( super(такое то имя файла) ). Иначе эта ситуевина может привести к обрушению программы, так как "вирус уже проник в плоть" :-))). И только потом мы думаем: "а что это я чихать стал?!". Хотя по идее, еще ДО ПЕРЕДАЧИ в конструктор провести проверку. И если удовлетворяет-передать. Может быть я и не прав. Но вот эта конструкция по своей логике меня просто убивает:
public TxtInputStream(String fileName) throws UnsupportedFileNameException, IOException
    {

        super(fileName);

а потом только пошла проверка...бред.
}
Сначала кинули далее, а потом "ой чото не так" :-))))