Вы просто описываете подачу файла через Интернет. Похоже, вы уже используете контейнер сервлетов, такой как Tomcat. Почему бы просто не позволить Tomcat предоставить файл? Код не требуется, и, вероятно, это будет сделано лучше и эффективнее, чем пользовательское решение.