Fix incorrect use of URLDecoder

Use URI class to ensure that the path is correctly parsed because URLDecoder is not the correct tool for the job. URLDecoder is used for decoding form values submitted via get. It replaces all spaces (" ") with a plus ("+") character, which breaks URIs for files with spaces in their names.

See http://docs.oracle.com/javase/6/docs/api/java/net/URI.html