Существует несколько причин, по которым это может произойти, но я предполагаю, что проблема в том, что вы ищете файл в расположении файловой системы, а ваша программа работает в веб-контексте, где корневая папка отличается.Если вы создаете веб-приложение, даже если вы разрабатываете его в папке / home, оно выполняется в веб-контексте, предоставленном контейнером сервлета или из вашей IDE с использованием встроенного контейнера сервлета).И фактическая структура папок немного отличается.Это связано с тем, что в общей среде веб-приложений существует инкапсуляция, и каждое приложение может получать доступ только к файлам, которые являются его частью (в противном случае вы можете изменять файлы, которые не принадлежат вам).
Таким образом, чтобы проверить это, и если вы работаете в веб-среде, вы можете проверить фактическую папку, вызвав метод getRealPath ("/") в контексте вашего сервлета, который показывает вам фактический путь к файловой системе.Но в основном вам нужно обращаться к ресурсам, используя их относительный путь в контексте веб-приложения, а не в файловой системе.