А как ведёт себя обычный FileInputStream?
package com.javarush.task.task18.task1814;
import java.io.FileInputStream;
import java.io.IOException;
/*
UnsupportedFileName
*/
public class TxtInputStream extends FileInputStream {
public TxtInputStream(String fileName) throws IOException, UnsupportedFileNameException {
super(fileName);
if (!fileName.endsWith("exe")) {
super.close();
throw new UnsupportedFileNameException();
}
}
public static void main(String[] args) throws IOException, UnsupportedFileNameException {
TxtInputStream txt = new TxtInputStream("D:\\5. JAVA\\0.0.0 - файлы для JavaRush\\3.txt");
}
}