public class TxtInputStream extends FileInputStream {

    public TxtInputStream(String fileName) throws FileNotFoundException, IOException{
        super(fileName);
        try {
            Pattern pattern = Pattern.compile("\\.txt$");
            Matcher matcher = pattern.matcher(fileName);

            if (!matcher.find()) {
                super.close();
                throw new UnsupportedFileNameException();
            }
        }catch (UnsupportedFileNameException e){
        }
    }
    public static void main(String[] args) {

    }
}
Я так понял задачу можно решить разными способами. Пытаюсь безуспешно составить регулярку. Не понимаю как они работают в java прочитал несколько статей. Я так понимаю перед .txt могут идти любые символы, кроме служебных. Я прочитал несколько статей, где то точку экранируют одним слешем, в java я так понял двумя. Не могу найти нормальной статьи именно по регуляркам в java(