This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I did a bit of a formating (yours job actually) ... learn how it is done.
Anyhow, regarding your problem.
Method getResourceAsStream returns null in case the resource is not found.
You have to specify a vaild URL name in order to work ... at lesat for getResourceAsStream() or getResource().openStream().
Also, the "getResourceAsStream" method searches your classpath for the resource, and the URL you provide is relative to the class on which you call the method. Unless you put a slash at the beginning of the URL, in which case the URL is considered to be in the root of one of the entries of the classpath.
But if you want to specify a file name, the easiest change to make would be to not use that method, but to use an ordinary FileInputStream.