именно так, я вот и хочу понять, почему оно null
через FileInputStream все отлично работает, а через InputStream отказывается находить этот файл
Если через fis всё работает, зачем пытаться юзать is?
Fis это наследник is специально для файлов, соответственно там есть некие различия в реализации. (какие - можно почитать в гугле, если есть желание разобраться)
Так как в данном методе всегда будет читаться файл, то лучше использовать класс специально предназначенный для этого, а не его родителя, который предназначен для работы с более широким спектром инпут стримов.
Кстати в трайкетче который в кетч блоке просто кидает эксепшен со стактрейсом смысла особого нет, можно добавить throws IOException в сигнатуре метода