I assume you're using Tomcat? If so then you can allow listDirectory and use your web browser to navigate to that file to make sure it's actually there. Also you need to check how the path lookups are occuring, are they relative to your context root? Absolute? Something else...?
Thank you for the reply. Yes i am using Tomcat 6.
The templates are in the path /WEB-INF/templates. But the WEB-INF folder does not come up in the directory listing.
I am using the context-root to access the file.
Template t = Velocity.getTemplate("/appname/WEB-INF/templates/helloworld.vm");