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.