Description
Create a URI instance for the given location String, replacing spaces with "%20" quotes first.
License
Apache License
Parameter
Parameter | Description |
---|
location | the location String to convert into a URI instance |
Exception
Parameter | Description |
---|
URISyntaxException | if the location wasn't a valid URI |
Return
the URI instance
Declaration
private static URI toURI(String location) throws URISyntaxException
Method Source Code
//package com.java2s;
/*//from w w w. j a v a 2 s. com
* Copyright 2002-2008 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
public class Main {
/**
* Create a URI instance for the given URL, replacing spaces with "%20"
* quotes first.
* <p>
* Furthermore, this method works on JDK 1.4 as well, in contrast to the
* <code>URL.toURI()</code> method.
*
* @param url
* the URL to convert into a URI instance
* @return the URI instance
* @throws URISyntaxException
* if the URL wasn't a valid URI
* @see java.net.URL#toURI()
*/
private static URI toURI(URL url) throws URISyntaxException {
return toURI(url.toString());
}
/**
* Create a URI instance for the given location String, replacing spaces
* with "%20" quotes first.
*
* @param location
* the location String to convert into a URI instance
* @return the URI instance
* @throws URISyntaxException
* if the location wasn't a valid URI
*/
private static URI toURI(String location) throws URISyntaxException {
return new URI(replace(location, " ", "%20"));
}
/**
* Replace all occurences of a substring within a string with another
* string.
*
* @param inString
* String to examine
* @param oldPattern
* String to replace
* @param newPattern
* String to insert
* @return a String with the replacements
*/
private static String replace(String inString, String oldPattern, String newPattern) {
if (!hasLength(inString) || !hasLength(oldPattern) || newPattern == null) {
return inString;
}
StringBuilder sbuf = new StringBuilder();
// output StringBuffer we'll build up
int pos = 0; // our position in the old string
int index = inString.indexOf(oldPattern);
// the index of an occurrence we've found, or -1
int patLen = oldPattern.length();
while (index >= 0) {
sbuf.append(inString.substring(pos, index));
sbuf.append(newPattern);
pos = index + patLen;
index = inString.indexOf(oldPattern, pos);
}
sbuf.append(inString.substring(pos));
// remember to append any characters to the right of a match
return sbuf.toString();
}
/**
* Check that the given CharSequence is neither <code>null</code> nor of
* length 0. Note: Will return <code>true</code> for a CharSequence that
* purely consists of whitespace.
* <p>
*
* <pre>
* StringUtils.hasLength(null) = false
* StringUtils.hasLength("") = false
* StringUtils.hasLength(" ") = true
* StringUtils.hasLength("Hello") = true
* </pre>
*
* @param str
* the CharSequence to check (may be <code>null</code>)
* @return <code>true</code> if the CharSequence is not null and has length
*/
private static boolean hasLength(CharSequence str) {
return (str != null && str.length() > 0);
}
/**
* Check that the given String is neither <code>null</code> nor of length 0.
* Note: Will return <code>true</code> for a String that purely consists of
* whitespace.
*
* @param str
* the String to check (may be <code>null</code>)
* @return <code>true</code> if the String is not null and has length
* @see #hasLength(CharSequence)
*/
private static boolean hasLength(String str) {
return hasLength((CharSequence) str);
}
}
Related
- toUri(String ip, String path)
- toURI(String location)
- toURI(String location)
- toURI(String location)
- toURI(String location)
- toURI(String path)
- toUri(String path)
- toURI(String s)
- toURI(String str)