static public URI parseToURI ( final String u ) throws URISyntaxException { StringBuilder buf = new StringBuilder ( ) ; int i = 0 ; while ( i < u . length ( ) ) { char c = u . charAt ( i ) ; if ( c == ' ' ) { if ( i + 1 == u . length ( ) ) throw new URISyntaxException ( u , "Trailing '\' at end of url" ) ; buf . append ( "%5c" ) ; i ++ ; c = u . charAt ( i ) ; buf . append ( String . format ( "%%%02x" , ( int ) c ) ) ; } else buf . append ( c ) ; i ++ ; } return new URI ( buf . toString ( ) ) ; }
Convert a uri string to an instance of java . net . URI . The critical thing is that this procedure can handle backslash escaped uris as well as %xx escaped uris .