How to implement rawurldecode in Java?
===

I'd like to convert PHP code to Java, that is to decode a string stored as an encoded URI format.

That is, change
>This%20is%20a%20%2Burl%2B%21

into
>This is a +url+!


I've looked at java.net.URI, but there are no suitable examples, and it seems that anything to be decoded by it needs to be in a proper URI format. I'd like to convert a string that isn't in proper format, but contains HTML encoding.